![8945d1220b2ddf7a3fd1f7dcd7f80727.png](https://img-blog.csdnimg.cn/img_convert/8945d1220b2ddf7a3fd1f7dcd7f80727.png)
我知道你有时候会遇到了
一个相见恨晚的公众号
比如小帅b的公众号哈哈
然后想去看看
这个公众号的历史文章
希望从第一篇开始看起
可是当你去微信里面查看的时候
会很蛋疼
因为
微信没有给文章一个时间排序
![cd4e398f838cb5ca6eb43b9a52cdb3fc.png](https://img-blog.csdnimg.cn/img_convert/cd4e398f838cb5ca6eb43b9a52cdb3fc.png)
那么这时候你只能
从最近更新的文章开始
一直滑呀滑~滑呀滑~
![10136f07225dcb2d1f4193de9902f33a.gif](https://img-blog.csdnimg.cn/img_convert/10136f07225dcb2d1f4193de9902f33a.gif)
好不容易看到了作者的第一篇文章了
结果一不小心
按了一下返回键
WTF!!!
![7833920a2dd18fb1fddf7fd9f4215dfc.png](https://img-blog.csdnimg.cn/img_convert/7833920a2dd18fb1fddf7fd9f4215dfc.png)
只能重新滑呀滑~滑呀滑~
滑到外婆桥
桥里有个洞
洞里有个黑屁股
![0739b9c47772bedab8bbcf2b3fa4b4d7.gif](https://img-blog.csdnimg.cn/img_convert/0739b9c47772bedab8bbcf2b3fa4b4d7.gif)
话说
能不能把公众号的文章全都爬取下来
然后制作成 PDF
这样
妈妈就再也不用担心
我无法看到作者的所有干货了
也不再担心
万一作者的突然脑抽把号给删了
文章全都消失
那岂不泪流满面
![5126c8f28fb6a8164760f56536c8070c.gif](https://img-blog.csdnimg.cn/img_convert/5126c8f28fb6a8164760f56536c8070c.gif)
好了
那么
接下来就是
学习 python 的正确姿势
![e09d148e17571f2534007ae8a35d1d3a.png](https://img-blog.csdnimg.cn/img_convert/e09d148e17571f2534007ae8a35d1d3a.png)
这次我们通过 fiddler 来抓取
手机上的请求
然后再把公众号的历史文章爬取下来
最后制作成 pdf 文件
小帅b来画个图吧
具体就是这样
![f2effc56514788a51cc1748445c7f274.png](https://img-blog.csdnimg.cn/img_convert/f2effc56514788a51cc1748445c7f274.png)
ok
有了思路之后
我们就开干
先从数据抓包开始
将手机连好同个局域网的 WIFI
然后打开 fiddler
以小帅b的公众号为例
在手机上刷一下
学习python的正确姿势
这个公众号的历史文章
![fa6398bd3e53ad5e7223a14ec81c6dab.png](https://img-blog.csdnimg.cn/img_convert/fa6398bd3e53ad5e7223a14ec81c6dab.png)
往下多滑几下
然后来看看 fiddler 抓到了什么数据
可以发现就是这个接口一直在请求
![6d79350afaf29be8b24c292bad02d7c3.png](https://img-blog.csdnimg.cn/img_convert/6d79350afaf29be8b24c292bad02d7c3.png)
来看看其中一个具体数据请求
![6d2ffecf8e59f42b309140daefa4964d.png](https://img-blog.csdnimg.cn/img_convert/6d2ffecf8e59f42b309140daefa4964d.png)
可以发现
微信在获取公众号历史文章的时候
有这么些参数是要携带的
小帅b看了下
比较重要的两个参数是
offset 和 is_ok
应该是用来加载更多文章的参数
其他的什么 token 参数
到时候我们直接复制到 python 中进行请求就好了
再来看看返回的数据长什么鸟样
![9026152f4ebfb20fd04a121118a86340.png](https://img-blog.csdnimg.cn/img_convert/9026152f4ebfb20fd04a121118a86340.png)
返回了一个 json
这里有个 next_offset 字段
小帅b发现它就是用来下次请求的时候
用于 offset 这个字段的
can_msg_continue
就是用于下次请求的 is_ok 字段的
![a5e8d1057997ab5e017633632a50e36e.png](https://img-blog.csdnimg.cn/img_convert/a5e8d1057997ab5e017633632a50e36e.png)
我们再来看看具体每次请求得到的
列表内容
![7169902aa5d517e83603f6a54d06960d.png](https://img-blog.csdnimg.cn/img_convert/7169902aa5d517e83603f6a54d06960d.png)
数据很明显了
list 里面的每一个 item
都是小帅b发过的文章信息