• 一键备份公众号的所有文章到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格式。

    图片

    以上获取文章的代码写的很简陋,还没有做优化,不太方便分享出来,怕误导大家。有需要的话可以联系我帮忙下载公众号文章。

    欢迎交流!
  • 相关阅读:
    jsop
    对象冒充call
    php中的static
    PHP对象在内存堆栈中的分配
    递归
    php简单日历
    php分页类
    请写一个函数,实现以下功能: 字符串“open_door” 转换成 “OpenDoor”、”make_by_id” 转换成 ”MakeById”
    php 计算两个文件之间的相对路径方法
    php冒泡排序
  • 原文地址:https://www.cnblogs.com/eternalpal/p/15225833.html
Copyright © 2020-2023  润新知