抓取网页生成电子书(【手语服务,助力沟通无障碍】(12月29日19:00) )
优采云 发布时间: 2021-12-29 12:21抓取网页生成电子书(【手语服务,助力沟通无障碍】(12月29日19:00)
)
【手语服务助沟通障碍】12月29日19:00现场报名>>>
苏升不服第167篇原创文章,将此公众号设为star,第一时间阅读最新文章。
之前写过以下关于备份的文章:
再说备份微博
一键备份微博并导出为PDF。顺便用Python分析微博账号数据
再说备份网页和公众号文章
如何备份公众号文章和可能被删除的网页
我想看的公众号文章被删了怎么办?
上面写的公众号的备份方法是单机备份。如果要备份某个公众号的所有文章,有点太麻烦了,所以今天分享一个用Python一键备份某个公众号的所有文章。不用担心你想阅读的文章被删除。我以我自己的公众号苏升不主为例。原理是通过抓包抓取微信客户端接口,使用Python请求微信接口获取公众号文章链接并下载。.
查尔斯捕获
常用的抓包工具有Fiddler、Charles、Charles这里用到的,先到官网下载软件,然后打开微信客户端找到公众号,进入文章列表可以看到已经发布的文章。
但是Charles在安装证书前无法获取https接口数据,显示未知。
安装证书后,在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是每次请求的次数,返回值可以看到返回的数据包括文章标题title,摘要摘要,文章地址content_url,阅读源地址source_url,封面封面,作者作者,抓住这些有用的数据。
Python爬取公众号文章
上面分析了接口参数和返回数据,就开始用Python请求微信接口吧。
这里只获取原创文章。我的公众号有160多篇原创文章,生成HTML文件需要2分钟。
用谷歌浏览器打开看看。
生成的HTML文件也可以转成chm格式,需要安装Easy CHM软件,这是一个快速创建CHM电子书或CHM帮助文件的强大工具
左边是文章标题,右边是文章内容,看起来很方便。
还有收录
文章标题和链接的降价文件。上一篇markdown的文章介绍了使用Markdown写简历和PPT。
Excel 文件格式也可用。
HTML、markdown、Excel生成都比较快,因为都是文本,下面开始导出PDF。
导出 PDF
导出PDF的工具是wkhtmltopdf。首先到官网下载安装wkhtmltopdf。安装完成后,设置环境变量。上一篇文章写了一些你可能不知道的windows技巧,然后就可以直接从命令行生成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