1、环境准备
重要事情卸载最前面,代码中出现的一些encoding='utf-8',是必须的,没有这个设定中文会出现乱码。安装requests、bs4和pdfkit的python第三方库,到https://wkhtmltopdf.org/downloads.html下载转换工具。依据自己的系统和python 的版本进行下载安装,在widows平台还需要将安装路径中的bin目录路径添加到环境变量。
以一本书作为例子说明,其他的电子书也可以使用类似的操作方式,不同页面的构成不一样,要根据特定页面进行分析。个人感觉使用正则去匹配网页的内容会比较科学,奈何不会正则。
2、分析网页元素,类似爬虫的操作
导入的库和其他变量定义
import pdfkit
import requests
from bs4 import BeautifulSoup
url = 'http://python3-cookbook.readthedocs.io/zh_CN/latest/'
wb_data = requests.get(url)
wb_data.encoding = 'utf-8'
all_urls = []
第一步找到所有书页的url,保存到一个list
if wb_data.ok:
soup = BeautifulSoup(wb_data.text,'html.parser')
div = soup.select('.toctree-l2')
for i in div:
temp_url = i.contents[0]['href']
if '#' in temp_url:
if temp_url.split('#')[0] not in all_urls:
all_urls.append(temp_url.split('#')[0])
e