微信公衆號採集方案

引言

目前微信公衆號採集基本只有幾種特定的方法了json

  1. 搜狗微信
    沒法採集歷史了,並且搜索也不按時間排序。獲取的數據的價值不高,不過能夠經過他來獲取公衆號的biz。
    瀏覽器

  2. 微信公衆平臺
    微信公衆平臺雖然可採集歷史,但限制很大,沒抓多少就被封接口了。
    服務器

  3. 安卓端微信
    網上不少關於xposed hook微信公衆號實時推送文章的一些採集方案,這個能用。可是隻能使用舊版微信,新版微信對xposed有檢測。並且舊版微信會限制剛註冊的微信號登錄。不過有方法解決:hook掉檢測的代碼,目前我還作不到這個程度。我見過有大佬實現了成品,但價格勸退。
    微信

  4. 一些第三方的平臺
    有不少第三方的平臺會提供一些微信的數據,好比最熱文章等。可看需求是否抓取。
    微信公衆平臺

  5. 網頁端微信
    基本沒啥用,大部分帳號登不了,登上去採集不了多久也分分鐘給你封了
    ide

  6. Windows端微信
    可逆向hook 注入dll來採集。還有一種方法就是攔截修改響應體,並加入相應js來採集(好比間隔一段時間來打開下一個文章)。也可模擬自動化點擊操做微信,而後用一些攔截工具攔截到微信的包就能夠實現抓取。技術簡單但實現較繁瑣,且效率較低。且機器的數量需求很大,但配置只需Windows,其餘配置能夠很低。
    工具

正文

微信的採集難度對剛接觸的人來講不簡單,由於大佬掌握的技術根本不會直接公開出來。要麼高價定製產品給其餘人,要麼賣數據。這也很正常,由於知道的人越多,掌握的採集技術不值錢是其次,能用多久就成問題了,萬一放出來沒多久就被微信針對了呢。測試

我接觸微信採集也有小半年了,嘗試過不少方法,最終找到一個還能夠接受的採集方法。spa

功能(全部功能都是基於Windows端微信,也就是你在電腦上聊天的那個軟件)

  • 可實時監控公衆號的推送,即公衆號新發布的文章。偏差在10秒之內。
  • 能夠採集公衆號的歷史文章(非模擬點擊攔截)
  • 能夠不關注採集公衆號最近10天發佈的文章
  • 能夠採集文章的內容、評論和閱讀數等(經過這種方法採集的閱讀數有限,大概每一個號天天有兩三千次,後面能夠繼續經過模擬點擊來採集,也能夠直接更換IP)
  • 能夠經過微信消息調度採集歷史和文章(監控某個聯繫人的消息,當收到指定格式(json字典)的內容的,啓動相應採集程序)
  • 能夠讀取微信關注的公衆號列表(不包含biz字段)
  • 固然,模擬點擊我也實現了。不是基於屏幕座標,是基於控件句柄和屏幕搜圖,因此在任何分辨率的電腦運行應該都沒問題(目前還在測試階段)
  • 每一個電腦能夠實現多開微信來抓取(測試2-3個號不會有問題,基本都是兩個號,部分機器登了三個號)

技術

  • 監控公衆號的推送是經過hook Windows端微信實現的,即攔截微信軟件接受微信服務器消息的代碼段。
  • 歷史和文章等的採集則是控制微信瀏覽器來實現的,用的不是操做鼠標鍵盤,不過其中部分功能實現須要模擬鼠標鍵盤。好比第一次啓動微信瀏覽器。
  • 微信消息調度也是經過hook Windows端微信實現的,固然我也弄過微信機器人,可經過代碼收發消息。

其餘

技術太複雜學不會怎麼辦?我已經將全部功能封裝成exe,只須要操做界面就能夠採集微信文章(須要懂得基礎的東西,好比json和網頁解析),解析須要你本身寫,由於我不知道你須要哪些字段。採集軟件不到2M,佔用資源很小,只要電腦配置足夠運行微信都沒問題。另外,若是須要本身二次封裝擴展功能的話,能夠提供代碼和指導。若是隻是想要數據的話也行。代理

演示

閱讀數

演示圖(圖中監控帳號就是個人,歡迎添加交流)
WinServer2016測試圖
演示動圖
視頻太大,上傳不了,就簡單轉個動圖看看:https://wwx.lanzoux.com/iRUrdhru06f。動圖中有三個窗口,左邊的是微信瀏覽器,右上的是採集程序,右下的是任務欄,任務欄中顯示的WXSpider就是右上的採集程序,放在裏面只是爲了展現一下程序佔用的資源。


監控推送

程序中監控是指要監控哪一個微信好友的消息,當收到該好友指定格式消息時,開啓採集程序採集相應內容。設置是設置郵箱發送的一些信息,當微信意外退出登陸時會發郵件通知。
在這裏插入圖片描述

歷史

歷史和閱讀數相似,都是控制微信瀏覽器訪問指定URL,而後獲得參數,在請求歷史文章列表。就不放動圖了。

其餘

直接控制瀏覽器來採集效率確實高了,也方便了不少。可是請求量是有限制的,可經過換IP解決(IP質量要好,我試了一些代理微信瀏覽器打開網頁很慢)。而限制最低的方法就是模擬點擊加攔截了,因此我加了一個模擬點擊打開URL的功能,當程序達到限制時,依舊能夠經過模擬點擊來繼續採集閱讀數。固然歷史文章接口的限制更高,封接口的頻率也高,因此沒法經過模擬點擊突破。測試大概每一個帳號24小時內能夠訪問320-330次接口,每次接口返回10天的歷史數據,無論天天發了幾條,天天發了8條,則每一個接口返回80條文章數據。

舒適提示

若是你不是工做須要,只是想學技術的話,請勿打擾。固然,有錢能夠隨意。

相關文章
相關標籤/搜索