乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      我是怎么保存公眾號(hào)歷史文章合集到本地的?當(dāng)然是用python了!

       Four兄 2019-08-24
      本文授權(quán)轉(zhuǎn)載自:小癡印記

      不知道你有沒(méi)有這樣的經(jīng)歷。

      偶然間,關(guān)注了一個(gè)自己特別感興趣的公眾號(hào),感覺(jué)就像是挖到了一個(gè)寶藏。于是,我們就想翻一翻寶藏里都有什么。

      但是,如果你想看到寶藏最開(kāi)始的內(nèi)容,你不得不翻山越嶺,刷到公眾號(hào)的歷史起點(diǎn)。這還不算什么,等你下次想要接著看下一篇時(shí),不得不重蹈覆轍。

      那么,我們有什么辦法解決一下這個(gè)問(wèn)題呢?


      用萬(wàn)能的python寫(xiě)個(gè)腳本,我們就可以把公眾號(hào)歷史所有的文章批量的保存為本地的PDF,這樣,就可以根據(jù)標(biāo)題和日期來(lái)看自己喜歡的文章啦!


      核心內(nèi)容:

      1 抓包工具Fiddler的配置及其使用

      2 python獲取公眾號(hào)全部歷史文章url地址

      3 把url轉(zhuǎn)化為PDF

      4 獲取單個(gè)文章的方法


      1 抓包工具Fiddler的配置及使用

      1)工作原理

      客戶端和服務(wù)器之間建立一個(gè)代理服務(wù)器,監(jiān)聽(tīng)本機(jī)發(fā)出的請(qǐng)求和服務(wù)器返回的響應(yīng)結(jié)果。


      瀏覽器與服務(wù)器之間通過(guò)建立TCP連接以HTTP協(xié)議進(jìn)行通信,瀏覽器默認(rèn)通過(guò)自己發(fā)送HTTP請(qǐng)求到服務(wù)器。 

      而Fiddler是c#開(kāi)發(fā)(微軟出品,主要作者Eric Lawrence)的http代理服務(wù)器,fiddler工作于七層中的應(yīng)用層,能夠捕獲到通過(guò)的http(s)請(qǐng)求。

      2)下載地址

      這是官網(wǎng):http://www./fiddler
      你也可以在公眾號(hào)【小癡印記】后臺(tái),回復(fù)關(guān)鍵字“Fiddler抓包”直接獲取。

      3)配置https

      默認(rèn)情況下,F(xiàn)iddler是不會(huì)捕獲HTTPS會(huì)話的,初次使用時(shí),需要下載安全證書(shū),并配置。

      具體步驟:
      依次點(diǎn)擊“Tools-Options-Https”,進(jìn)行如下圖的配置,“Actions-Trust root”是下載安全證書(shū)的。


      4)設(shè)置局域網(wǎng)ip和端口號(hào)

      Fiddler的運(yùn)行機(jī)制其實(shí)就是本機(jī)上監(jiān)聽(tīng) 8888 端口的 HTTP 代理。

      Fiddler 啟動(dòng)的時(shí)候默認(rèn) IE 的代理設(shè)為了127.0.0.1:8888,而其他瀏覽器是需要手動(dòng)設(shè)置的,所以將 Chrome 瀏覽器的代理改為127.0.0.1:8888 就可以監(jiān)聽(tīng)數(shù)據(jù)了。

      具體操作步驟,見(jiàn)第一篇參考文章:
      https://blog.csdn.net/jingjingshizhu/article/details/80566191

      注意:運(yùn)行爬蟲(chóng)程序時(shí),要關(guān)閉Fidder客戶端

      2 python源碼分析

      1)打開(kāi)微信客戶端,
      點(diǎn)開(kāi)某一個(gè)公眾號(hào)的歷史文章界面

      以我的公眾號(hào)為例,如圖。


      2)打開(kāi)Fiddler,監(jiān)聽(tīng)url
      通過(guò)對(duì)比,前后兩個(gè)url,可以發(fā)現(xiàn),只是offset這個(gè)參數(shù)有所改變。

      一些重要的關(guān)鍵字段:
      __biz : 用戶和公眾號(hào)之間的唯一id
      uin :用戶的私密id
      key :請(qǐng)求的秘鑰,一段時(shí)候只會(huì)就會(huì)失效
      offset :偏移量


              
      圖的右下角,我們可以看到返回的數(shù)據(jù)類(lèi)型,及其格式。
           
            
      好啦,接下來(lái),我們可以獲取一頁(yè)內(nèi)容看看啦。

      看看,reponse_dict的內(nèi)容。


      根據(jù)上圖的json字符串,我們要做的是把title、content_url、datetime提取出來(lái)。
      見(jiàn)下圖。
      至此,我們成功的獲取到了標(biāo)題、時(shí)間、內(nèi)容url等信息。


      只有在最后一篇文章時(shí),can_msg_continue=0,其余所有文章都是1。

      因此,獲取公眾號(hào)歷史文章全部?jī)?nèi)容,可以加一個(gè)死循環(huán),當(dāng)判斷為最后一篇文章時(shí),直接break,結(jié)束循環(huán)。

      完整代碼:

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類(lèi)似文章 更多