引言
目前微信公衆號採集基本只有幾種特定的方法了json
-
搜狗微信
沒法採集歷史了,並且搜索也不按時間排序。獲取的數據的價值不高,不過能夠經過他來獲取公衆號的biz。
瀏覽器 -
微信公衆平臺
微信公衆平臺雖然可採集歷史,但限制很大,沒抓多少就被封接口了。
服務器 -
安卓端微信
網上不少關於xposed hook微信公衆號實時推送文章的一些採集方案,這個能用。可是隻能使用舊版微信,新版微信對xposed有檢測。並且舊版微信會限制剛註冊的微信號登錄。不過有方法解決:hook掉檢測的代碼,目前我還作不到這個程度。我見過有大佬實現了成品,但價格勸退。
微信 -
一些第三方的平臺
有不少第三方的平臺會提供一些微信的數據,好比最熱文章等。可看需求是否抓取。
微信公衆平臺 -
網頁端微信
基本沒啥用,大部分帳號登不了,登上去採集不了多久也分分鐘給你封了
ide -
Windows端微信
可逆向hook 注入dll來採集。還有一種方法就是攔截修改響應體,並加入相應js來採集(好比間隔一段時間來打開下一個文章)。也可模擬自動化點擊操做微信,而後用一些攔截工具攔截到微信的包就能夠實現抓取。技術簡單但實現較繁瑣,且效率較低。且機器的數量需求很大,但配置只需Windows,其餘配置能夠很低。
工具
正文
微信的採集難度對剛接觸的人來講不簡單,由於大佬掌握的技術根本不會直接公開出來。要麼高價定製產品給其餘人,要麼賣數據。這也很正常,由於知道的人越多,掌握的採集技術不值錢是其次,能用多久就成問題了,萬一放出來沒多久就被微信針對了呢。測試
我接觸微信採集也有小半年了,嘗試過不少方法,最終找到一個還能夠接受的採集方法。spa
功能(全部功能都是基於Windows端微信,也就是你在電腦上聊天的那個軟件)
- 可實時監控公衆號的推送,即公衆號新發布的文章。偏差在10秒之內。
- 能夠採集公衆號的歷史文章(非模擬點擊攔截)
- 能夠不關注採集公衆號最近10天發佈的文章
- 能夠採集文章的內容、評論和閱讀數等(經過這種方法採集的閱讀數有限,大概每一個號天天有兩三千次,後面能夠繼續經過模擬點擊來採集,也能夠直接更換IP)
- 能夠經過微信消息調度採集歷史和文章(監控某個聯繫人的消息,當收到指定格式(json字典)的內容的,啓動相應採集程序)
- 能夠讀取微信關注的公衆號列表(不包含biz字段)
- 固然,模擬點擊我也實現了。不是基於屏幕座標,是基於控件句柄和屏幕搜圖,因此在任何分辨率的電腦運行應該都沒問題(目前還在測試階段)
- 每一個電腦能夠實現多開微信來抓取(測試2-3個號不會有問題,基本都是兩個號,部分機器登了三個號)
技術
- 監控公衆號的推送是經過hook Windows端微信實現的,即攔截微信軟件接受微信服務器消息的代碼段。
- 歷史和文章等的採集則是控制微信瀏覽器來實現的,用的不是操做鼠標鍵盤,不過其中部分功能實現須要模擬鼠標鍵盤。好比第一次啓動微信瀏覽器。
- 微信消息調度也是經過hook Windows端微信實現的,固然我也弄過微信機器人,可經過代碼收發消息。
其餘
技術太複雜學不會怎麼辦?我已經將全部功能封裝成exe,只須要操做界面就能夠採集微信文章(須要懂得基礎的東西,好比json和網頁解析),解析須要你本身寫,由於我不知道你須要哪些字段。採集軟件不到2M,佔用資源很小,只要電腦配置足夠運行微信都沒問題。另外,若是須要本身二次封裝擴展功能的話,能夠提供代碼和指導。若是隻是想要數據的話也行。代理
演示
閱讀數
演示圖(圖中監控帳號就是個人,歡迎添加交流)
演示動圖
視頻太大,上傳不了,就簡單轉個動圖看看:https://wwx.lanzoux.com/iRUrdhru06f。動圖中有三個窗口,左邊的是微信瀏覽器,右上的是採集程序,右下的是任務欄,任務欄中顯示的WXSpider就是右上的採集程序,放在裏面只是爲了展現一下程序佔用的資源。
監控推送
程序中監控是指要監控哪一個微信好友的消息,當收到該好友指定格式消息時,開啓採集程序採集相應內容。設置是設置郵箱發送的一些信息,當微信意外退出登陸時會發郵件通知。
歷史
歷史和閱讀數相似,都是控制微信瀏覽器訪問指定URL,而後獲得參數,在請求歷史文章列表。就不放動圖了。
其餘
直接控制瀏覽器來採集效率確實高了,也方便了不少。可是請求量是有限制的,可經過換IP解決(IP質量要好,我試了一些代理微信瀏覽器打開網頁很慢)。而限制最低的方法就是模擬點擊加攔截了,因此我加了一個模擬點擊打開URL的功能,當程序達到限制時,依舊能夠經過模擬點擊來繼續採集閱讀數。固然歷史文章接口的限制更高,封接口的頻率也高,因此沒法經過模擬點擊突破。測試大概每一個帳號24小時內能夠訪問320-330次接口,每次接口返回10天的歷史數據,無論天天發了幾條,天天發了8條,則每一個接口返回80條文章數據。
舒適提示
若是你不是工做須要,只是想學技術的話,請勿打擾。固然,有錢能夠隨意。