在今日頭條上輸入關鍵詞,爬取與關鍵詞相關的新聞各類信息和內容頁。
今日頭條爬取主要困難如下:
(1)採用下拉翻滾動態加載新的新聞條目,即瀑布流;
(2)內容詳情頁爲動態頁面,大部分網頁源代碼類似字典形式,一部分爲帶標籤的結構化頁面。
本文采用兩種方式爬取,都將爬取的數據寫入到數據庫中,主要爬蟲代碼在JinRiTouTiao.py中,小編在pipelines.py中使用了mysql數據庫存儲數據,讀者可忽略,若使用請配置數據庫相關信息。
爬取內容:發佈時間、發佈者、主題、內容、鏈接、點贊數、轉發數、評論數等。
github鏈接:https://github.com/kingdomrushing/SpiderTouTiao-python/tree/master
(一)使用scrapy+Selenium +phantomjs爬取:
爬蟲爲spiders/JinRiTouTiao.py
使用請運行startFirst.py
因爲使用的是Selenium +phantomjs,所以無論是靜態頁面還是動態頁面都可以爬取,抓取十分準確,但是速度非常慢,小編爬時是一分鐘兩個items,可能與小編的網速和電腦配置不高有關。
使用前需要下載phantomjs,使用方法見https://www.cnblogs.com/zzhzhao/p/5380376.html
(二) 使用scrapy+urllib+lxml爬取:
爬蟲爲toutiao.py
使用請運行startSecond.py
推薦使用,爬取速度比較快,爬取數據較爲準確。
人非聖賢,孰能無過?歡迎大家指正,也歡迎大家有好的想法可以一起交流,小編QQ:2422035338,大家有什麼問題或者想法歡迎騷擾。