偶然间,关注了一个自己特别感兴趣的公众号,感觉就像是挖到了一个宝藏。于是,我们就想翻一翻宝藏里都有什么。 但是,如果你想看到宝藏最开始的内容,你不得不翻山越岭,刷到公众号的历史起点。这还不算什么,等你下次想要接着看下一篇时,不得不重蹈覆辙。
那么,我们有什么办法解决一下这个问题呢? 用万能的python写个脚本,我们就可以把公众号历史所有的文章批量的保存为本地的PDF,这样,就可以根据标题和日期来看自己喜欢的文章啦! 核心内容: 1 抓包工具Fiddler的配置及其使用 2 python获取公众号全部历史文章url地址 3 把url转化为PDF 4 获取单个文章的方法 客户端和服务器之间建立一个代理服务器,监听本机发出的请求和服务器返回的响应结果。浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器。 而Fiddler是c#开发(微软出品,主要作者Eric Lawrence)的http代理服务器,fiddler工作于七层中的应用层,能够捕获到通过的http(s)请求。你也可以在公众号【小痴印记】后台,回复关键字“Fiddler抓包”直接获取。默认情况下,Fiddler是不会捕获HTTPS会话的,初次使用时,需要下载安全证书,并配置。依次点击“Tools-Options-Https”,进行如下图的配置,“Actions-Trust root”是下载安全证书的。Fiddler的运行机制其实就是本机上监听 8888 端口的 HTTP 代理。Fiddler 启动的时候默认 IE 的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以将 Chrome 浏览器的代理改为127.0.0.1:8888 就可以监听数据了。https://blog.csdn.net/jingjingshizhu/article/details/80566191 通过对比,前后两个url,可以发现,只是offset这个参数有所改变。 图的右下角,我们可以看到返回的数据类型,及其格式。 根据上图的json字符串,我们要做的是把title、content_url、datetime提取出来。至此,我们成功的获取到了标题、时间、内容url等信息。只有在最后一篇文章时,can_msg_continue=0,其余所有文章都是1。因此,获取公众号历史文章全部内容,可以加一个死循环,当判断为最后一篇文章时,直接break,结束循环。
|