一键采集文章(一下备份某个公众号的所有文章的思路方法方法!)
优采云 发布时间: 2021-11-12 16:09一键采集文章(一下备份某个公众号的所有文章的思路方法方法!)
有时,我们会发现我们采集中的某个微信公众号文章会被删除或统一,尤其是对自己非常有用的文章,我们会后悔没有复制或备份它向上。
需要备份单个公众号文章。你可以找到很多方法直接点击百度,这里就不废话了。
如果你想备份某个公众号的所有文章,这需要一些努力。我在网上搜了一下,有免费的和付费的工具,评论的效果也不一样,不好说。
其实比较原理也不难。今天,永恒先生分享一下备份某个公众号的所有文章的想法。
以公众号永恒军的宝箱为例。原理大致是这样的:
1、捕获微信客户端的界面
常见的抓包工具有Fiddler、Charles等,永恒君子这里用Charles。
在使用之前,需要进行一系列的配置,安装证书,并添加域名和主机。否则无法获取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 是请求的密钥,一段时间后会过期
偏移量是偏移量
count 是每次请求的数量
通过上面的请求,可以获取到文章公众号的信息,包括文章title title、文章地址content_url、reading source_url source_url、cover cover、作者作者,并抓取这些就是这样。
2、使用Python请求微信接口获取公众号文章链接并下载
有了上面的接口参数,就可以开始使用Python来请求文章信息了。
这里我们只抓取永恒之王签名的原创文章。原创的公众号大约有230篇文章。生成 HTML 文件后,3 分钟内全部下载完毕。
用浏览器打开看看。
但是有一个问题,html文件中的图片需要联网才能查看
于是永恒之王用python将html文章导出成PDF文档。
用于导出 PDF 的工具是 wkhtmltopdf。在这里,我们需要先下载安装wkhtmltopdf。
然后在Python中安装pdfkit库并调用wkhtmltopdf。
因为需要联网获取图片,所以生成PDF会比较慢。等待几十分钟后,所有的PDF文件也都生成了。
PDF也可以直接用浏览器打开。比如这个计算家庭人口的公式有点厉害~~~
如果觉得PDF文件太多,也可以使用pdf合并软件,将所有的pdf文件合并成一个集合。目录以每个文件名命名,方便查找。
这将完美地将我的公众号的所有文章以HTML和PDF格式下载到本地。
上面写的获取文章的代码很简单,没有优化,所以不好分享,怕误导大家。如有需要,可以联系我帮助下载公众号文章。
欢迎交流!