上面寫的備份公眾號(hào)方法都是單篇備份,如果你想備份某個(gè)公眾號(hào)的所有文章,就有點(diǎn)太麻煩了,所以今天分享的是用Python一鍵備份某個(gè)公眾號(hào)的所有文章,再也不用擔(dān)心想看的文章被刪了,這里就以我自己的 charles 抓包常見的抓包工具有Fiddler,charles,這里用的charles,先去官網(wǎng) https://www./download 下載軟件,然后打開微信客戶端找到公眾號(hào),進(jìn)入文章列表可以看到發(fā)過的文章。 不過charles沒安裝證書前獲取不到https接口數(shù)據(jù),顯示unknown。安裝證書后在 proxy->ssl proxying settings 添加域名和host 。再次抓取可以看到公眾號(hào)文章接口數(shù)據(jù)了。 公眾號(hào)文章的接口地址 /mp/profile_ext?action=getmsg&__biz=MjM5ODIzNDEx&f=json&offset=25&count=10&is_ok=1&scene=124&uin=MTU0MTQzNj&key=f57423 ,參數(shù)比較多,其中有用的參數(shù) __biz 是用戶和公眾號(hào)之間的唯一id,uin是用戶的id,這個(gè)是不變的,key 是請求的秘鑰,一段時(shí)間就會(huì)失效,offset 是偏移量,count 是每次請求的條數(shù),返回值可以看到返回?cái)?shù)據(jù)包括文章標(biāo)題titile、摘要digest、文章地址content_url、閱讀原文地址source_url、封面cover、作者author ,只要抓取這些有用的數(shù)據(jù)就行了。 python 抓取公眾號(hào)文章上面分析了接口參數(shù)和返回?cái)?shù)據(jù),開始用Python請求微信接口就是了。 這里只抓取原創(chuàng)文章,我的公眾號(hào)有160多篇原創(chuàng),生成HTML文件2分鐘就搞定了。用谷歌瀏覽器打開就能看。 生成的HTML文件還可以轉(zhuǎn)成chm格式,需要先安裝軟件 Easy CHM,這是一款強(qiáng)大的CHM電子書或CHM幫助文件的快速制作工具 http://www./cn/easychm.html左側(cè)是文章標(biāo)題,右側(cè)是文章內(nèi)容,看起來非常方便。 還有含有文章標(biāo)題和鏈接的 markdown 文件,關(guān)于markdown之前文章介紹過 用 Markdown 來寫簡歷和 PPT。excel文件格式也有。 生成HTML,markdown和Excel都比較快,因?yàn)槎际俏谋?,下面開始導(dǎo)出PDF。 導(dǎo)出PDF導(dǎo)出PDF用的工具是wkhtmltopdf ,先到官網(wǎng)https:///downloads.html 下載安裝 wkhtmltopdf , 安裝后設(shè)置環(huán)境變量,這個(gè)之前文章寫過 那些你可能不知道的 windows 奇技淫巧,然后直接命令行就能生成PDF。 λ wkhtmltopdf http://www.baidu.com baidu.pdf Loading pages (1/6) Counting pages (2/6) Resolving links (4/6) Loading headers and footers (5/6) Printing pages (6/6) Done 比如生成百度首頁的PDF。Python中使用pdfkit 模塊來調(diào)用wkhtmltopdf ,先用 再次運(yùn)行程序,PDF文件也生成了。PDF也可以用谷歌瀏覽器直接打開,比如這篇一鍵解鎖網(wǎng)易云音樂變灰歌曲。 不過由于生成PDF比較慢,文章多的話key參數(shù)會(huì)失效,需要重新獲取,然后修改next_offset繼續(xù)抓取。 |
|