转发 微博 Qzone 微信 Python实现知乎专栏文章转电子书!Python就是这么牛逼!

好的,又是愉快的周末写(shui)推送时间了~

相信很多小伙伴应该看过/实现过把廖雪峰网站的教程转换成PDF电子书吧,毕竟网上一搜一大把类似的教程。作为拥有大量优质文章的知乎专栏,我们是不是也可以依样画葫芦地来对它搞点事情呢?当然可以啦!今天我就带大家利用Python将知乎专栏文章转为PDF电子书。学习资料也可以加下Python扣扣裙:3零4零5零799自己下载学习下。

让我们愉快地开始吧~

Python版本:3.6.4

相关模块:

pdfkit模块;

argparse模块;

requests模块;

bs模块;

以及一些Python自带的模块。

其他工具:

wkhtmltopdf

进群:3零4零5零799获取源码以及电子书!

python环境:

安装Python并添加到环境变量,pip安装需要的相关模块即可。

wkhtmltopdf环境:

先到官网下载该软件的安装包并安装该软件,软件下载地址为:

https://wkhtmltopdf.org/downloads.html

例如我下载的是下图红色框框出的版本:

转发 微博 Qzone 微信 Python实现知乎专栏文章转电子书!Python就是这么牛逼!_第1张图片

安装完成后将该软件安装路径下的bin文件夹添加到环境变量中,例如:

转发 微博 Qzone 微信 Python实现知乎专栏文章转电子书!Python就是这么牛逼!_第2张图片

OK,大功告成~

先睹为快

运行方式(cmd窗口):

python zl2pdf.py -u 知乎专栏地址

原理其实很简单,主要分三步。

第一步,提取专栏所有文章的链接和其他必要的信息(例如文章标题)。简单抓包可以发现专栏所有文章的链接可以通过有规律地请求下图所示的链接获取(就是不断改变链接中的offset值):

转发 微博 Qzone 微信 Python实现知乎专栏文章转电子书!Python就是这么牛逼!_第3张图片

代码实现如下:

转发 微博 Qzone 微信 Python实现知乎专栏文章转电子书!Python就是这么牛逼!_第4张图片

第二步,根据爬取到的所有文章的链接地址将文章从对应的网页中提取出来并保存为html文件:

转发 微博 Qzone 微信 Python实现知乎专栏文章转电子书!Python就是这么牛逼!_第5张图片

代码实现如下:

转发 微博 Qzone 微信 Python实现知乎专栏文章转电子书!Python就是这么牛逼!_第6张图片

第三步,将保存的HTML文件转为PDF即可。

代码实现如下:

All done~完整源代码详见相关文件。

你可能感兴趣的:(Python学习,程序员,Python软件开发,编程,爬虫学习,Python爬虫学习)