python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看

我知道你有时候会遇到了

一个相见恨晚的公众号

然后想去看看

这个公众号的历史文章

希望从第一篇开始看起

可是当你去微信里面查看的时候

会很蛋疼

因为

微信没有给文章一个时间排序

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第1张图片

 

 

那么这时候你只能

从最近更新的文章开始

一直滑呀滑~滑呀滑~

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第2张图片

 

 

好不容易看到了作者的第一篇文章了

结果一不小心

按了一下返回键

WTF!!!

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第3张图片

 

 

只能重新滑呀滑~滑呀滑~

滑到外婆桥

桥里有个洞

洞里有个黑屁股

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第4张图片

 

 

话说

能不能把公众号的文章全都爬取下来

然后制作成 PDF

这样

妈妈就再也不用担心

我无法看到作者的所有干货了

也不再担心

万一作者的突然脑抽把号给删了

文章全都消失

那岂不泪流满面

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第5张图片

 

 

好了

那么

接下来就是

学习 python 的正确姿势

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第6张图片

 

 

这次我们通过 fiddler 来抓取

手机上的请求

然后再把公众号的历史文章爬取下来

最后制作成 pdf 文件

小帅b来画个图吧

具体就是这样

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第7张图片

 

 

ok

有了思路之后

我们就开干

先从数据抓包开始

将手机连好同个局域网的 WIFI

然后打开 fiddler

在手机上找个公众号刷一下

往下多滑几下

然后来看看 fiddler 抓到了什么数据

可以发现就是这个接口一直在请求

 

 

来看看其中一个具体数据请求

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第8张图片

 

 

可以发现

微信在获取公众号历史文章的时候

有这么些参数是要携带的

比较重要的两个参数是

offset 和 is_ok

应该是用来加载更多文章的参数

其他的什么 token 参数

到时候我们直接复制到 python 中进行请求就好了

再来看看返回的数据长什么鸟样

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第9张图片

 

 

返回了一个 json

这里有个 next_offset 字段

小帅b发现它就是用来下次请求的时候

用于 offset 这个字段的

can_msg_continue

就是用于下次请求的 is_ok 字段的

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第10张图片

 

 

我们再来看看具体每次请求得到的

列表内容

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第11张图片

 

 

数据很明显了

list 里面的每一个 item

都是小帅b发过的文章信息

标题、链接、作者、原文地址、封面图啥都有了

那如何区分文章是否原创的呢

看了一会发现

copyright_stat = 11

就是原创

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第12张图片

 

 

知道了请求规则

以及返回数据的格式

接下来就可以使用代码获取啦

先来把 header 和 cookies 定义一下

假装自己是在用手机请求数据

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第13张图片

 

 

在请求的时候

需要携带参数

这里主要是控制一下 offset

用来加载更多数据

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第14张图片

 

 

定义好了之后

就可以使用 requests 进行请求了

先来获取所有的原创文章

然后打印一下看看

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第15张图片

 

 

主要就是将返回的数据

使用 json 进行解析

然后判断是否可以获取更多的数据

如果还有数据的话

我们就递归请求

ok

执行一波

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第16张图片

 

 

公众号的所有原创文章

就被我们爬取下来啦

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第17张图片

 

 

开心得像条狗

接下来

把文章转化为 pdf 文件

怎么弄

其实我也不知道...

遇到事情不要慌

上 Google 搜索一下呗

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第18张图片

 

 

装下b

用英文搜索

点进去第一个链接看看

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第19张图片

 

 

woc!!

一行代码搞定??

赶紧安装试试看

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第20张图片

 

 

安装完成之后

在代码使用一下

  •  
 
# 自己定义存储路径 pdfkit.from_url(content_url, '/home/wistbean/wechat_article/'+title+'.pdf') 

 

执行

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第21张图片

 

 

可以可以

帅b的所有原创文章

就被保存下来啦

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第22张图片

 

 

python爬取你喜欢的公众号的所有原创文章,然后搞成PDF慢慢看_第23张图片

你可能感兴趣的:(python)