抓取网页生成电子书(用Python一键备份某个公众号的所有文章(图) )
优采云 发布时间: 2022-03-20 07:03抓取网页生成电子书(用Python一键备份某个公众号的所有文章(图)
)
上面写的公众号的备份方法是单次备份。如果要备份某个公众号的所有文章,那就有点太麻烦了,所以今天分享一个公众号的一键备份。公众号的所有文章,再也不用担心文章被删除了。这里以我自己的公众号苏生不火为例。原理是通过抓包来抓微信客户。终端接口,使用Python请求微信接口获取公众号文章的链接然后下载。
查尔斯捕获包
常见的数据包捕获工具包括 Fiddler 和 charles。 Charles在这里使用,先去官网下载软件,然后打开微信客户端找到公众号,进入文章列表可以看到贴出来的文章。
但是Charles在安装证书之前无法获取https接口数据,显示unknown。
安装证书后在proxy->ssl代理设置中添加域名和主机。
再次爬取,可以看到公众号文章的界面数据。
公众号接口地址文章/mp/profile_ext?action=getmsg&__biz=MjM5ODIzNDEx&f=json&offset=25&count=10&is_ok=1&scene=124&uin=MTU0MTQzNj&key=f57423 参数很多,其中有用的参数__biz是用户公众号和公众号的唯一id,uin是用户的id,这个不变,key是请求的秘钥,会在一段时间后过期,offset是偏移量,count是个数每个请求的条目数,return 可以看到返回的数据包括文章title标题、摘要摘要、文章地址content_url、阅读原文地址source_url、封面封面、作者作者,抓住这些有用的数据。
python抢公众号文章
接口参数和返回数据分析完毕,开始用Python请求微信接口就够了。
这里我只抢原创文章,我的公众号有160多篇文章原创,生成HTML文件需要2分钟。
用谷歌浏览器打开即可查看。
生成的HTML文件也可以转换成chm格式,需要先安装软件Easy CHM,它是快速制作CHM电子书或CHM帮助文件的强大工具
左边的文章标题和右边的文章内容看起来很方便。
还有带有文章标题和链接的markdown文件,文章之前介绍过关于markdown的。
Excel 文件格式也可用。
生成HTML、markdown和Excel更快,因为都是文本,我们开始导出PDF吧。
导出 PDF
导出PDF的工具是wkhtmltopdf,先去官网下载安装wkhtmltopdf,安装后设置环境变量。这个之前写过文章,然后就可以直接在命令行生成PDF了。
λ wkhtmltopdf http://www.baidu.com baidu.pdfLoading pages (1/6)Counting pages (2/6)Resolving links (4/6)Loading headers and footers (5/6)Printing pages (6/6)Done