本着開源精神和方便用戶,現已將"微信公衆號文章採集系統"打包成虛擬機,你只需下載安裝虛擬機鏡像,便可使用。php
系統鏡像有6個G,只能經過種子的形式下載了, 鏡像種子下載地址node
連接: https://pan.baidu.com/s/1bq9rhO7 密碼: 7r4dmysql
首先要感謝飯口組組長 把他的採集方案開源出來 。web
這裏可以稱之爲系統是由於涉及到的技術不少,這裏一一羅列:sql
一、anyproxy 阿里巴巴開源的代理攔截器,使用的是4.0的版本,能夠很方便的修改 response 信息。anyproxy 我在系統中已經安裝好了,安裝也很簡單,先安裝nodejs環境,而後用npm安裝anyproxy.apache
anyproxy 4.0開始規則能夠做爲模塊來開發,寫好了規則代碼以後,不用動原來的代碼,只須要在anproxy的參數帶上規則文件。這裏用到的命令 anproxy --rule weixin.js。 關於anproxy如何設置https 證書問題,能夠參考官網。我在虛擬機中設置了全局的代理,因此須要 anyproxy 打開後才能,8001端口能夠訪問請求才能成功。npm
規則代碼主要的邏輯是對於微信公衆號的請求進行攔截,把數據轉發到 php。windows
二、apache+php+mysql 這裏主要是做爲web服務器來處理anyproxy 攔截的請求,處理微信文章數據和點贊數、閱讀數。服務器
攔截過來的數據的處理能夠看具體的php代碼,邏輯不算太複雜。這裏爲了方便使用的是phpstudy的集成開發環境。微信
三、按鍵精靈,按鍵精靈是國產的一種相似vb語法的模擬鍵盤鼠標的工具。這裏用到按鍵精靈來模擬點擊windows下的微信客戶端。
在處理多個微信公衆號的時候,須要客戶端來點擊,把全部的手動操做經過按鍵精靈來模擬出來。去查看具體的代碼的時候,我在處理點擊歷史消息使用了一個小技巧,事實是開始想經過直接經過識別圖片的辦法來找到 「歷史消息」 按鈕的位置,可是發現怎麼也找不到,而後只能 循環向下移動鼠標,直到區域內找到特定的顏色,就是「歷史消息」按鈕。
在一條思路行不通的時候,就要嘗試其餘思路。整個系統就是作下來,就是要處理這種看似行得通,實際不通,而後再去嘗試,如此反覆。
四、windows 微信客戶端,其實我嘗試過用安卓模擬器,由於個人目標是開箱即用,因此須要把全部的程序都可以裝到一塊兒,可是在虛擬機中是無法安裝安卓模擬器,也就是說虛擬機中是無法作二次虛擬的。這個坑我已經踩過了,你們就不用踩了,記得以前有人問過,阿里雲windows服務器能不能裝 安卓模擬器,我想答案是同樣的,虛擬機不能作二次虛擬化,阿里雲windows服務器不能裝安卓模擬器。
因此,當我嘗試安卓模擬器後,發現原來微信pc客戶端(包括mac)的功能已經作的很完善了,而後就去嘗試windows客戶端。
五、virtualbox 虛擬機,這個是甲骨文公司出的虛擬機。會涉及到一些網絡的配置,好比設置爲NAT模式。
如今把虛擬機鏡像開源出來,裏面全部的代碼都在虛擬機中,你們能夠隨意修改。
從最開始知道公衆號文章採集到知道實現原理,再到最後作出鏡像,中間經歷過各類困難,耗時耗力,請教各類人,甚至吃飯睡覺都在想某個細節的解決方案,有解決問題的快樂,有被問題纏繞時的苦惱,感謝這個過程當中給予過幫助人。
在安裝使用過程當中遇到什麼問題能夠加我微信 ( liuhan199012 )