爬蟲|利用Anyproxy爬取微信公眾號文章及臨時(shí)鏈接轉(zhuǎn)永久鏈接

一、先說整體的解決方案

1、通過搜狗進(jìn)行公眾號文章的采集,這樣獲取到的文章URL是一個(gè)帶時(shí)間戳的臨時(shí)鏈接。

2、通過安卓模擬器+Anyproxy代理抓包分析微信客戶端打開臨時(shí)鏈接時(shí)與其服務(wù)器請求的協(xié)議內(nèi)容,得出永久鏈接。

3、通過按鍵精靈模擬或Python腳本在微信號上發(fā)送臨時(shí)鏈接內(nèi)容,只有在安卓模擬器上的微信號上發(fā)送了內(nèi)容,Anyproxy代理才能抓取到相關(guān)的包內(nèi)容。

二、再說具體的解決方案,主要是第2點(diǎn)

1、通過搜狗進(jìn)行公眾號文章的采集,這樣獲取到的文章URL是一個(gè)帶時(shí)間戳的臨時(shí)鏈接。在用這個(gè)做數(shù)據(jù)采集時(shí),經(jīng)常會出現(xiàn)“請輸入驗(yàn)證碼”。我嘗試用IP代理池,但目前尚未找到可以避免或叫解決這個(gè)問題的IP代理服務(wù)器。我這塊的處理方式是用動(dòng)態(tài)IP VPS服務(wù)解決。具體的解決步驟我這塊就不細(xì)講啦,因?yàn)檫@個(gè)不是本文章的重點(diǎn)。

2、通過安卓模擬器+Anyproxy代理抓包分析微信客戶端打開臨時(shí)鏈接時(shí)與其服務(wù)器請求的協(xié)議內(nèi)容,得出永久鏈接。我用的是win10系統(tǒng)。

1)一個(gè)微信客戶端:下載一個(gè)安卓模擬器,在這個(gè)模擬器上安裝一個(gè)微信app。

2)一個(gè)微信個(gè)人號:為了采集內(nèi)容不僅需要微信客戶端,還要有一個(gè)微信個(gè)人號專門用于發(fā)送臨時(shí)鏈接。

3)本地代理服務(wù)器系統(tǒng):使用的方法是通過Anyproxy代理服務(wù)器將臨時(shí)鏈接和永久鏈接發(fā)送到我們自己的服務(wù)器上進(jìn)行替換。具體安裝設(shè)置方法在后面詳細(xì)介紹。

我使用的是Anyproxy。這個(gè)軟件的特點(diǎn)是可以獲取到https鏈接的內(nèi)容。在2016年年初的時(shí)候微信公眾號和微信文章開始使用https鏈接。并且Anyproxy可以通過修改rule向服務(wù)器發(fā)送請求。下面開始介紹安裝與配置過程。

1、安裝NodeJS

2、在命令行或者終端運(yùn)行 npm install -g anyproxy

3、生成RootCA,https需要這個(gè)證書:運(yùn)行命令anyproxy --root

4、啟動(dòng)anyproxy運(yùn)行命令:win+R打開運(yùn)行,輸入anyproxy -i;參數(shù)-i是解析HTTPS的意思;

5、安裝證書,在安卓模擬器中安裝證書:啟動(dòng)anyproxy,瀏覽器打開http://localhost:8002/fetchCrtFile,能獲取rootCA.crt文件

6、設(shè)置代理:安卓模擬器的代理服務(wù)器地址是wifi鏈接的網(wǎng)關(guān),可以通過把dhcp設(shè)置為靜態(tài)后看到網(wǎng)關(guān)地址,看完后別忘了再設(shè)置為自動(dòng)。代理服務(wù)器默認(rèn)端口是8001。

檢測是否成功方法:打開模擬器上的微信,點(diǎn)擊到任意一個(gè)文章中,在終端都可以看到響應(yīng)的代碼滾動(dòng)。如果沒有出現(xiàn),請檢查手機(jī)的代理設(shè)置是否正確。我下面的截圖是打開瀏覽器地址http://localhost:8002看到anyproxy的web界面。

我在微信app上打開的是文章的臨時(shí)鏈接,通過協(xié)議分析可以知道永久鏈接是重定向到302時(shí)的location中。

4)修改Anyproxy文件rule_default.js,獲取抓包中的協(xié)議內(nèi)容。

rule_default.js文件在*\node_modules\anyproxy\lib\rule_default.js中,找到replaceServerResDataAsync: function(req,res,serverResData,callback) 函數(shù),修改函數(shù)內(nèi)容,劫取需要的內(nèi)容。因?yàn)槲抑恍枰偃》祷貫?02的code內(nèi)容,所以我只有當(dāng)statusCode==302時(shí)才callback。

找到replaceResponseHeader: function(req,res,header)函數(shù),修改函數(shù)內(nèi)容。獲取永久鏈接,調(diào)用我在服務(wù)器寫好的http接口,我這邊接口只有兩個(gè)參數(shù):臨時(shí)鏈接和永久鏈接,根據(jù)臨時(shí)鏈接增加永久鏈接。

好,到目前為止,通過使用Anyproxy把臨時(shí)鏈接轉(zhuǎn)永久鏈接的功能介紹完成啦。

PS:使用Anyproxy可以直接獲取微信公眾號的全部文章(永久鏈接),包括點(diǎn)贊數(shù),閱讀數(shù)之類的信息。這樣的話可以不用使用搜狗。不過這里會有些問題,微信會封你在做這個(gè)事情的微信個(gè)人號,所以我采取的是使用搜狗爬文章(急),再利用Anyproxy在臨時(shí)鏈接有效時(shí)間內(nèi)更新為永久鏈接。

3、通過按鍵精靈模擬在微信app上點(diǎn)擊臨時(shí)鏈接,或者也可以通過python腳本模擬。這塊我正在編寫,等完成之后再更新上來。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,362評論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,577評論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,486評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,852評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,600評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,944評論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,944評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,108評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,652評論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,385評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,616評論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,111評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,798評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,205評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,537評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,334評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,570評論 2 379

推薦閱讀更多精彩內(nèi)容