在 Laravel China 的同學們可能聽我說過,我確實因為還算比較熟悉 Node.js,在工作中多次受益,因為 Node.js 裡面的工具和輪子特別多,今天的工具中我使用 anyproxy 就是阿里開源的一個代理工具。
我本來是寫了更復雜的工具,使用 Node.js 的 anyproxy 加上 php 的 Laravel 框架,完成這些功能,但是某天洗澡的時候終於想通了,我其實把一個工具複雜化了,這個工具本來是很簡單的,我給一位媒體朋友指導了一下,他也很快就用起來了。
首先,先看我之前寫的文章,介紹現在微信公眾賬號一般抓取的方法:
一般有兩種抓取的方法:
- 抓取搜狗微信。
- 利用“中間人攻擊”思路使用代理抓取。
清明節花了一天時間寫了這個工具,思路是利用“中間人攻擊”,想可以試試。
安裝:
$ npm install wechat_spider -g
具體安裝和使用請檢視 https://github.com/lijinma/wechat_spider 求 Star
抓取完儲存在 sqlite 中,可以匯出 csv ,如圖:
抓取思路:
- 因為微信的連結是 https,所以需要使用中間人攻擊的方式,安裝根證照(anyproxy 工具的功能)。
- 為了保證自動抓取分頁,在每一頁的後面新增:
<script>setTimeout(function(){window.location.href="下一個 url";},2000);</script>
,動態修改下一個 url ,這樣就可以保證一直抓下去。
這是一個完整的工具
我儘可能的在 README 中儘可能的把每一步都寫得非常清楚,希望真的可以對你有用,尤其是媒體工作者,因為我這個工具就是為我一個做媒體的朋友寫的,有任何問題,請提 Issue 。
本作品採用《CC 協議》,轉載必須註明作者和本文連結