利用BeautifulSoup抓取新浪網頁新聞的內容,beautifulsoup抓取
第一次寫的小爬蟲,python確實功能很強大,二十來行的代碼抓取內容並儲存為一個txt文本
直接上代碼
#coding = 'utf-8'import requestsfrom bs4 import BeautifulSoupimport sysreload(sys)sys.setdefaultencoding("utf-8")#抓取web頁面url = "http://news.sina.com.cn/china/"res = requests.get(url)res.encoding = 'utf-8'#放進soup裡面進行網頁內容剖析soup = BeautifulSoup(res.text, "html.parser")elements = soup.select('.news-item') #抓取需要的內容並且放入檔案中#抓取的內容有時間,內容文本,以及內容的連結fname = "F:/asdf666.txt"try: f = open(fname, 'w') for element in elements: if len(element.select('h2')) > 0: f.write(element.select('.time')[0].text) f.write(element.select('h2')[0].text) f.write(element.select('a')[0]['href']) f.write('\n\n') f.close()except Exception, e: print eelse: passfinally: pass
因為這隻第一次做的小爬蟲,功能很簡單也很單一,就是直接抓取新聞頁面的部分新聞
然後抓取新聞的時間和超連結
然後按照新聞的順序整合起來,並且放進文字檔中去儲存起來
截取一下,效果很簡單,就是一條一條的記錄,時間,新聞內容,新聞連結(因為是今天才寫的,所以新聞都是今天的)