ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

优质公众号文章批量下载

2021-07-07 17:02:27  阅读:199  来源: 互联网

标签:pdfkit 批量 url wkhtmltopdf 公众 文章 链接 下载


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

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

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

话不多说,直接开始~

 

 

01.获取单篇文章链接

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

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

 

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

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

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

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

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

 

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

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

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)

 

来看看效果吧~

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

嗯,还是清晰明了的!

 

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

往期精彩推荐

多线程视频批量下载

标签:pdfkit,批量,url,wkhtmltopdf,公众,文章,链接,下载
来源: https://blog.51cto.com/u_15289428/3005114

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有