我是怎么保存公众号历史文章合集到本地的?当然是用python了!
生活随笔
收集整理的這篇文章主要介紹了
我是怎么保存公众号历史文章合集到本地的?当然是用python了!
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文授權轉載自:小癡印記
不知道你有沒有這樣的經歷。
客戶端和服務器之間建立一個代理服務器,監聽本機發出的請求和服務器返回的響應結果。
瀏覽器與服務器之間通過建立TCP連接以HTTP協議進行通信,瀏覽器默認通過自己發送HTTP請求到服務器。?
而Fiddler是c#開發(微軟出品,主要作者Eric Lawrence)的http代理服務器,fiddler工作于七層中的應用層,能夠捕獲到通過的http(s)請求。
2)下載地址
這是官網:http://www.telerik.com/fiddler你也可以在公眾號【小癡印記】后臺,回復關鍵字“Fiddler抓包”直接獲取。
3)配置https
默認情況下,Fiddler是不會捕獲HTTPS會話的,初次使用時,需要下載安全證書,并配置。
具體步驟:依次點擊“Tools-Options-Https”,進行如下圖的配置,“Actions-Trust root”是下載安全證書的。
4)設置局域網ip和端口號
Fiddler的運行機制其實就是本機上監聽 8888 端口的 HTTP 代理。
Fiddler 啟動的時候默認 IE 的代理設為了127.0.0.1:8888,而其他瀏覽器是需要手動設置的,所以將 Chrome 瀏覽器的代理改為127.0.0.1:8888 就可以監聽數據了。
具體操作步驟,見第一篇參考文章:https://blog.csdn.net/jingjingshizhu/article/details/80566191
注意:運行爬蟲程序時,要關閉Fidder客戶端
以我的公眾號為例,如圖。
2)打開Fiddler,監聽url通過對比,前后兩個url,可以發現,只是offset這個參數有所改變。
一些重要的關鍵字段:__biz : 用戶和公眾號之間的唯一id
uin :用戶的私密idkey :請求的秘鑰,一段時候只會就會失效offset :偏移量
????????
圖的右下角,我們可以看到返回的數據類型,及其格式。
? ? ???????好啦,接下來,我們可以獲取一頁內容看看啦。
看看,reponse_dict的內容。
根據上圖的json字符串,我們要做的是把title、content_url、datetime提取出來。
只有在最后一篇文章時,can_msg_continue=0,其余所有文章都是1。
因此,獲取公眾號歷史文章全部內容,可以加一個死循環,當判斷為最后一篇文章時,直接break,結束循環。
完整代碼:關注【小癡印記】公眾號,后臺回復“公眾號歷史文章”
用到了python第三方庫pdfkit,重點在安裝。
1)安裝pdfkit?pip install pdfkit
2)安裝wkhtmltopdf1.下載地址:https://wkhtmltopdf.org/downloads.html,安裝到本地即可。2.將按照目錄下的bin添加到環境變量的path中;
3)重啟電腦,重啟電腦,重啟電腦。
最終結果:
1)在網頁上,打開對應的文章,注意,一定要把文章加載到底部(待圖片顯示完全)
2)我用的谷歌瀏覽器,打印-ctrl+p,另存為pdf
結果如下圖:
其中,用到了Fiddler抓包工具,首先獲得所有文章內容的url地址,然后可把url轉為PDF文件,不過,此方法保存的文件,圖片不能很好的顯示。
所以,如果你只是想打印一篇文章,那么,我建議你可在瀏覽器端打開指定一篇文章,另存為PDF文件。
回復關鍵字“Fiddler抓包”,獲取“抓包工具”回復關鍵字“公眾號歷史文章”,獲取“完整源代碼”
推薦閱讀:(點擊下方標題即可跳轉)暑期實習的那 5 周,我收獲了些什么?
GitHub 標星 8w!學完這份指南后,你就可以去 Google 面試了!
不知道你有沒有這樣的經歷。
偶然間,關注了一個自己特別感興趣的公眾號,感覺就像是挖到了一個寶藏。于是,我們就想翻一翻寶藏里都有什么。
但是,如果你想看到寶藏最開始的內容,你不得不翻山越嶺,刷到公眾號的歷史起點。這還不算什么,等你下次想要接著看下一篇時,不得不重蹈覆轍。
那么,我們有什么辦法解決一下這個問題呢?
用萬能的python寫個腳本,我們就可以把公眾號歷史所有的文章批量的保存為本地的PDF,這樣,就可以根據標題和日期來看自己喜歡的文章啦!
核心內容:
1 抓包工具Fiddler的配置及其使用
2 python獲取公眾號全部歷史文章url地址
3 把url轉化為PDF
4 獲取單個文章的方法
1 抓包工具Fiddler的配置及使用
客戶端和服務器之間建立一個代理服務器,監聽本機發出的請求和服務器返回的響應結果。
瀏覽器與服務器之間通過建立TCP連接以HTTP協議進行通信,瀏覽器默認通過自己發送HTTP請求到服務器。?
而Fiddler是c#開發(微軟出品,主要作者Eric Lawrence)的http代理服務器,fiddler工作于七層中的應用層,能夠捕獲到通過的http(s)請求。
2)下載地址
這是官網:http://www.telerik.com/fiddler你也可以在公眾號【小癡印記】后臺,回復關鍵字“Fiddler抓包”直接獲取。
3)配置https
默認情況下,Fiddler是不會捕獲HTTPS會話的,初次使用時,需要下載安全證書,并配置。
具體步驟:依次點擊“Tools-Options-Https”,進行如下圖的配置,“Actions-Trust root”是下載安全證書的。
4)設置局域網ip和端口號
Fiddler的運行機制其實就是本機上監聽 8888 端口的 HTTP 代理。
Fiddler 啟動的時候默認 IE 的代理設為了127.0.0.1:8888,而其他瀏覽器是需要手動設置的,所以將 Chrome 瀏覽器的代理改為127.0.0.1:8888 就可以監聽數據了。
具體操作步驟,見第一篇參考文章:https://blog.csdn.net/jingjingshizhu/article/details/80566191
注意:運行爬蟲程序時,要關閉Fidder客戶端
2 python源碼分析
以我的公眾號為例,如圖。
2)打開Fiddler,監聽url通過對比,前后兩個url,可以發現,只是offset這個參數有所改變。
一些重要的關鍵字段:__biz : 用戶和公眾號之間的唯一id
uin :用戶的私密idkey :請求的秘鑰,一段時候只會就會失效offset :偏移量
????????
圖的右下角,我們可以看到返回的數據類型,及其格式。
? ? ???????好啦,接下來,我們可以獲取一頁內容看看啦。
看看,reponse_dict的內容。
根據上圖的json字符串,我們要做的是把title、content_url、datetime提取出來。
只有在最后一篇文章時,can_msg_continue=0,其余所有文章都是1。
因此,獲取公眾號歷史文章全部內容,可以加一個死循環,當判斷為最后一篇文章時,直接break,結束循環。
完整代碼:關注【小癡印記】公眾號,后臺回復“公眾號歷史文章”
3 把url轉化為pdf
用到了python第三方庫pdfkit,重點在安裝。
1)安裝pdfkit?pip install pdfkit
2)安裝wkhtmltopdf1.下載地址:https://wkhtmltopdf.org/downloads.html,安裝到本地即可。2.將按照目錄下的bin添加到環境變量的path中;
3)重啟電腦,重啟電腦,重啟電腦。
最終結果:
4 獲取單個文章的其他途徑
1)在網頁上,打開對應的文章,注意,一定要把文章加載到底部(待圖片顯示完全)
2)我用的谷歌瀏覽器,打印-ctrl+p,另存為pdf
結果如下圖:
5 文章小結
本文主要介紹了,使用python獲取你喜歡的公眾號的歷史文章,并保存到本地PDF文件。其中,用到了Fiddler抓包工具,首先獲得所有文章內容的url地址,然后可把url轉為PDF文件,不過,此方法保存的文件,圖片不能很好的顯示。
所以,如果你只是想打印一篇文章,那么,我建議你可在瀏覽器端打開指定一篇文章,另存為PDF文件。
回復關鍵字“Fiddler抓包”,獲取“抓包工具”回復關鍵字“公眾號歷史文章”,獲取“完整源代碼”
推薦閱讀:(點擊下方標題即可跳轉)暑期實習的那 5 周,我收獲了些什么?
GitHub 標星 8w!學完這份指南后,你就可以去 Google 面試了!
??歡迎長按圖片識別二維碼關注~
總結
以上是生活随笔為你收集整理的我是怎么保存公众号历史文章合集到本地的?当然是用python了!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GitHub 标星 8w!学完这份指南后
- 下一篇: websocket python爬虫_p