本文授權(quán)轉(zhuǎn)載自:小癡印記 偶然間,關(guān)注了一個自己特別感興趣的公眾號,,感覺就像是挖到了一個寶藏,。于是,我們就想翻一翻寶藏里都有什么,。 但是,,如果你想看到寶藏最開始的內(nèi)容,你不得不翻山越嶺,,刷到公眾號的歷史起點,。這還不算什么,等你下次想要接著看下一篇時,,不得不重蹈覆轍,。
那么,我們有什么辦法解決一下這個問題呢,? 用萬能的python寫個腳本,,我們就可以把公眾號歷史所有的文章批量的保存為本地的PDF,這樣,就可以根據(jù)標(biāo)題和日期來看自己喜歡的文章啦,! 核心內(nèi)容: 1 抓包工具Fiddler的配置及其使用 2 python獲取公眾號全部歷史文章url地址 3 把url轉(zhuǎn)化為PDF 4 獲取單個文章的方法 客戶端和服務(wù)器之間建立一個代理服務(wù)器,,監(jiān)聽本機發(fā)出的請求和服務(wù)器返回的響應(yīng)結(jié)果。瀏覽器與服務(wù)器之間通過建立TCP連接以HTTP協(xié)議進行通信,,瀏覽器默認(rèn)通過自己發(fā)送HTTP請求到服務(wù)器,。 而Fiddler是c#開發(fā)(微軟出品,主要作者Eric Lawrence)的http代理服務(wù)器,,fiddler工作于七層中的應(yīng)用層,,能夠捕獲到通過的http(s)請求。這是官網(wǎng):http://www./fiddler你也可以在公眾號【小癡印記】后臺,,回復(fù)關(guān)鍵字“Fiddler抓包”直接獲取,。默認(rèn)情況下,F(xiàn)iddler是不會捕獲HTTPS會話的,,初次使用時,,需要下載安全證書,并配置,。依次點擊“Tools-Options-Https”,,進行如下圖的配置,“Actions-Trust root”是下載安全證書的,。Fiddler的運行機制其實就是本機上監(jiān)聽 8888 端口的 HTTP 代理,。Fiddler 啟動的時候默認(rèn) IE 的代理設(shè)為了127.0.0.1:8888,而其他瀏覽器是需要手動設(shè)置的,,所以將 Chrome 瀏覽器的代理改為127.0.0.1:8888 就可以監(jiān)聽數(shù)據(jù)了,。https://blog.csdn.net/jingjingshizhu/article/details/80566191 注意:運行爬蟲程序時,,要關(guān)閉Fidder客戶端通過對比,前后兩個url,,可以發(fā)現(xiàn),,只是offset這個參數(shù)有所改變。 圖的右下角,,我們可以看到返回的數(shù)據(jù)類型,及其格式,。 好啦,,接下來,,我們可以獲取一頁內(nèi)容看看啦。看看,,reponse_dict的內(nèi)容,。 根據(jù)上圖的json字符串,我們要做的是把title,、content_url、datetime提取出來,。至此,我們成功的獲取到了標(biāo)題,、時間,、內(nèi)容url等信息。只有在最后一篇文章時,,can_msg_continue=0,,其余所有文章都是1。因此,,獲取公眾號歷史文章全部內(nèi)容,,可以加一個死循環(huán),當(dāng)判斷為最后一篇文章時,,直接break,,結(jié)束循環(huán)。
|