我去年寫過一個微博全站爬蟲
web
在上一次更新至今,又出現了很多了 bug,昨天趁着有空更新了代碼,此次的更新主要作了三件事flex
一、解決了微博話題爬蟲失效的問題編碼
二、突破了微博話題爬蟲只能爬取前50頁的限制spa
三、從新組織了代碼,具體可見下圖.net
原來的帶有界面的用戶、話題、評論爬蟲更新後轉移到項目根目錄下的 GUI 功能集中版 文件夾下,這部分的代碼主要是 GUI.py 源代碼,裏面分別有 WeiboSearchScrapy、WeiboUserScrapy、WeiboUserScrapy 三個類,以及其餘文件夾下 ListModel、ListView 等界面類,以及負責在業務邏輯和界面之間傳送消息的信號類。若是以前 clone 過該項目,只須要複製功能集中版下的 GUI.py 文件並覆蓋以前的 GUI.py 運行便可。3d
若是是第一次使用該項目,建議直接 clone 無 GUI 功能獨立版 文件夾下的代碼,該文件夾下一個 py 文件對應着一個功能爬蟲,目前有兩個文件orm
WeiboCommentScrapy.py 爬取評論blog
WeiboTopicScrapy.py 爬取指定關鍵詞的全部微博,突破了 50 頁的限制,可指定截至日期
由於每次微博更新,爬蟲就要作相應更新,而後一些邏輯的變化致使 GUI 界面也要修改,一個產品不少代碼都是浪費在了界面的編寫上,爲了減輕更新壓力,將主要任務放在爬蟲邏輯的更新上,這也是我爲何單獨剝離功能代碼的初衷。
更新的 WeiboTopicScrapy 類新增了一個參數 limit_date
WeiboTopicScrapy(keyword='特朗普',filter=0,limit_date='2020-01-10')
filter=0 表示爬取全部微博,filter=1 表示只爬取原創微博;limit_date 指明只抓取 2020-01-10 至今的微博;上述新建類的語句代表開啓一個抓取特朗普話題下 2020-01-10 至今的全部微博的任務。
代碼最前面須要替換成你本身 weibo.cn 的 Cookie,關於 Cookie 怎麼獲取,能夠參考微博全站爬蟲修復更新啦!!!的最後面說明。
代碼已更新到 Github,閱讀原文一鍵直達。
該項目不按期更新,請持續關注,若有需求請在本公衆號留言,回覆 社羣 可進粉絲交流羣,和 200+ 人一塊兒 day day up~
往期精選
本文分享自微信公衆號 - 月小水長(inspurer)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。