微信公衆號文章爬取方法整理
1.用python爬取
http://blog.csdn.net/d1240673769/article/details/75907152
實現方法:通過微信提供的公衆號文章調用接口,實現爬取公衆號文章的功能
步驟:
1.需要安裝python selenium模塊包,通過selenium中的webdriver驅動瀏覽器獲取Cookie的方法、來達到登錄的效果;
2.使用webdriver功能需要安裝對應瀏覽器的驅動插件,我這裏測試用的是谷歌瀏覽器:
google chrome版本爲52.0.2743.6 ;
chromedriver版本爲:V2.23
注意:谷歌瀏覽器版本和chromedriver需要對應,否則會導致啓動時報錯。【附:selenium之 chromedriver與chrome版本映射表(更新至v2.30)http://blog.csdn.net/huilan_same/article/details/51896672)】
3.微信公衆號登陸地址:https://mp.weixin.qq.com/
4.微信公衆號文章接口地址可以在微信公衆號後臺中新建圖文消息,超鏈接功能中獲取:
5.搜索公衆號名稱
6.獲取要爬取的公衆號的fakeid
7.選定要爬取的公衆號,獲取文章接口地址
8.文章列表翻頁及內容獲取
2.AnyProxy代理批量採集
https://zhuanlan.zhihu.com/p/24302048
實現方法:anyproxy+js
https://www.cnblogs.com/luojiangwen/p/7943696.html
實現方法:anyproxy+java+webmagic
3.FiddlerCore
實現方法:抓包工具,Fiddler4
通過對多個賬號進行抓包分析,可以確定:
_biz:這個14位的字符串是每個公衆號的“id”,搜狗的微信平臺可以獲得
uin:與訪問者有關,微信號id
key:和所訪問的公衆號有關
步驟:
1,寫按鍵精靈腳本,在手機上自動點擊公號文章列表頁,也就是“查看歷史消息”;
2,使用fiddler代理劫持手機端的訪問,將網址轉發到本地用php寫的網頁;
3,在php網頁上將接收到的網址備份到數據庫;
4,用python從數據庫取出網址,然後進行正常的爬取。
爬的過程中發現一個問題:
如果只是想爬取文章內容,似乎並沒有訪問頻率限制,但如果想抓取閱讀數、點贊數,超過一定頻率後,返回就會變爲空值,我設定的時間間隔爲10秒,可以正常抓取,這種頻率下,一個小時只能抓取360條,已經沒什麼實際意義了。
4.清博 新榜
如果只是想看數據的話,直接看每天的榜單就可以了,還不用花錢,如果需要接入自己的系統的話,他們也提供api接口