使用 anyproxy 二次開發的微信公眾號抓取工具,可以抓閱讀數,點贊數,讚賞數和回覆數

lijinma發表於2017-04-05

在 Laravel China 的同學們可能聽我說過,我確實因為還算比較熟悉 Node.js,在工作中多次受益,因為 Node.js 裡面的工具和輪子特別多,今天的工具中我使用 anyproxy 就是阿里開源的一個代理工具。

我本來是寫了更復雜的工具,使用 Node.js 的 anyproxy 加上 php 的 Laravel 框架,完成這些功能,但是某天洗澡的時候終於想通了,我其實把一個工具複雜化了,這個工具本來是很簡單的,我給一位媒體朋友指導了一下,他也很快就用起來了。

首先,先看我之前寫的文章,介紹現在微信公眾賬號一般抓取的方法:

如何優雅的抓取微信公眾號歷史文章

一般有兩種抓取的方法:

  1. 抓取搜狗微信。
  2. 利用“中間人攻擊”思路使用代理抓取。

清明節花了一天時間寫了這個工具,思路是利用“中間人攻擊”,想可以試試。

安裝:

$ npm install wechat_spider -g

具體安裝和使用請檢視 https://github.com/lijinma/wechat_spider 求 Star

抓取完儲存在 sqlite 中,可以匯出 csv ,如圖:

file

抓取思路:

  • 因為微信的連結是 https,所以需要使用中間人攻擊的方式,安裝根證照(anyproxy 工具的功能)。
  • 為了保證自動抓取分頁,在每一頁的後面新增:<script>setTimeout(function(){window.location.href="下一個 url";},2000);</script>,動態修改下一個 url ,這樣就可以保證一直抓下去。

這是一個完整的工具

我儘可能的在 README 中儘可能的把每一步都寫得非常清楚,希望真的可以對你有用,尤其是媒體工作者,因為我這個工具就是為我一個做媒體的朋友寫的,有任何問題,請提 Issue 。

本作品採用《CC 協議》,轉載必須註明作者和本文連結
寫文字大部分時候是因為我希望能幫助到你,小部分時候是想做總結或做記錄。我的微信是 lijinma,希望和你交朋友。 以下是我的公眾賬號,會分享我的學習和成長。

相關文章