有那么一些优秀的技术公众号,平时可能在手机上不能完全吸收知识,我们可以利用Python将该公众号的所有文章下载到本地,并以PDF的形式保存,什么时候有空就可以一篇一篇打开来仔细推敲。

 

优质公众号文章批量下载_公众号

 

我们选择的下载目标是崔老师的公众号 进击的Coder 。

话不多说,直接开始~

 

 

01.获取单篇文章链接

 

优质公众号文章批量下载_python_02

打开该公众号的历史消息,发现这个链接没办法在浏览器中打开(显示“验证”字样,但不能显示内容)。那我们只能掏出 Fiddler 来当一个中间人~

 

滑动上图的页面,利用Fiddler抓包发现这个链接,

 

优质公众号文章批量下载_python_03

 

访问这个url需要提交一些数据,如下图所示,

优质公众号文章批量下载_python_04

 

观察发现这个 __biz , uin 应该是个人微信号的相关信息,以及与该公众号的关联信息,除了 offset 表示偏移量需随着页面下滑改变,其他信息可以直接复制Fiddler抓包得到的信息。

 

接着,我们可以利用Requests,带上上述的信息,得到返回的json,包含文章标题,文章摘要,发布时间等信息,而其中最重要的就是文章链接,根据这个文章链接,我们可以发起新的请求,访问到文章的数据信息。

 

优质公众号文章批量下载_公众号_05

 

02.文章转成PDF

 

获取文章的url连接之后,有一个厉害的第三方库就可以大显身手啦~

 

pdfkit

 

利用它我们可以直接将url转化成为pdf,但是在使用它之前,我们需要提前下载好Wkhtmltopdf,它的下载链接如下:

https://wkhtmltopdf.org/downloads.html

 

使用pdfkit的操作十分简单,完成简单的配置之后,利用pdfkit.from_url便可直接生成pdf文件。

  •  
# 配置wkhtmltopdfconfig=pdfkit.configuration(wkhtmltopdf=r"F:\wkhtmltopdf\wkhtmltox-0.12.5-1.mxe-cross-win64\wkhtmltox\bin\wkhtmltopdf.exe")pdfkit.from_url(url, 'a.pdf',configuration=config)

 

来看看效果吧~

 

优质公众号文章批量下载_python_06

 

嗯,还是清晰明了的!

 

 

优质公众号文章批量下载_python_07

往期精彩推荐

多线程视频批量下载