首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python实现知乎专栏文章转电子书

导语

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

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

让我们愉快地开始吧~

开发工具

Python版本:3.6.4

相关模块:

pdfkit模块;

argparse模块;

requests模块;

bs模块;

以及一些Python自带的模块。

其他工具:

wkhtmltopdf

环境搭建

python环境:

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

wkhtmltopdf环境:

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

https://wkhtmltopdf.org/downloads.html

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

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

OK,大功告成~

先睹为快

运行方式(cmd窗口):

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

效果如下:

PS:

因为自己的知乎一直没开过专栏,所以拿别人的专栏测试的。代码仅供学习交流。

原理简介

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

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

代码实现如下:

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

代码实现如下:

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

代码实现如下:

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

Charles的皮卡丘

Pikachu~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190125B1DB7A00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券