1. 程式人生 > 其它 >一鍵備份公眾號的所有文章到PDF,再也不用擔心想看的文章被刪了

一鍵備份公眾號的所有文章到PDF,再也不用擔心想看的文章被刪了

有的時候,我們會發現收藏的某個微信公眾號文章會被刪或者和諧了,尤其是對自己非常實用的文章,一定會後悔當初怎麼沒有複製或者備份下來。

單篇的公眾號文章要備份,隨便百度一下就能找到非常多方法,這裡就不多廢話了。

如果要備份某個公眾號的所有文章,這個就要費點功夫了。網上搜索了一下,免費付費的工具都有,評論效果也是不一而論,不好說。

其實原理比較說起來還是不難的,今天永恆君就來分享一下備份某個公眾號的所有文章的思路方法。

以公眾號永恆君的百寶箱為例了,原理是大致是這樣的:

  • 抓包抓取微信客戶端的介面

  • 使用Python請求微信介面獲取公眾號文章連結並下載

1、抓包抓取微信客戶端的介面

常見的抓包工具有Fiddler,charles等等,永恆君這裡用的是charles。

使用之前需要先進行一系列的配置,安裝證書,新增域名和host。否則獲取不到https介面資料,顯示unknown。

詳細的配置方法可參考這裡

配置好後啟動,開啟微信客戶端找到公眾號,進入文章列表可以看到發過的文章。

這樣可以抓取到公眾號文章介面資料了。

公眾號文章的介面地址如下:

/mp/profile_ext?action=getmsg&__biz=MzIzMTU2OTkwOQ==&f=json&offset=10&count=10&is_ok=1&scene=124&uin=MzY0MDY1OTU1&key=61633b3e6808122f2a8e656cab84fa561b091de04bff962f725a959bf7d4e91507cf2f369f5dd89c9346abc8a415882fc2a13b51777dc54fba05e79c2346af8c872d619e7b10b27d515745b96d3ddd0f5fb09083f3bba38b8814be5cd32ab159d4964f299b988d29e1fbbe15ae2aa9f3a572392a143c354ba86df0d29414a0ee

引數比較多,其中有用的引數為:

__biz 是使用者和公眾號之間的唯一id
uin是使用者的id,這個是不變的
key 是請求的祕鑰,一段時間就會失效
offset 是偏移量
count 是每次請求的條數

通過上面的請求,就可以獲取公眾號文章的資訊了,包括文章標題titile、文章地址content_url、閱讀原文地址source_url、封面cover、作者author,抓取這些就行了。

2、使用Python請求微信介面獲取公眾號文章連結並下載

有了上面的介面引數,就可以開始用Python請求獲取文章資訊了。

這裡只抓取永恆君署名的原創文章,公眾號一共有大約230多篇原創,生成HTML檔案3分鐘就全部下載下來了。

用瀏覽器開啟就能看。

但是有個問題,html檔案裡面的圖片需要聯網才能進行檢視

所以永恆君把html文章再用python匯出成PDF文件。

匯出PDF用的工具是wkhtmltopdf,這裡特別說一下,這個工具需要先下載安裝 wkhtmltopdf。

接著Python中安裝pdfkit庫,呼叫wkhtmltopdf就可以了。

因為需要聯網獲取圖片,因此生成PDF會比較慢,耐心等待幾十分鐘之後,PDF檔案也全部生成了。

PDF也可以用瀏覽器直接開啟,比如這篇 這個統計家庭人口的公式有點厲害了~~~

如果覺得PDF檔案數量太多了,也可以藉助pdf合併軟體,將所有的pdf合併成單獨的合集,目錄就以每個檔名命名,方便查詢。

這樣就完美的把我公眾號的所有文章下載到本地了,有HTML和PDF格式。

以上獲取文章的程式碼寫的很簡陋,還沒有做優化,不太方便分享出來,怕誤導大家。有需要的話可以聯絡我幫忙下載公眾號文章。

歡迎交流!