手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

用python下载电子书的方法

时间:2024-10-21 23:42:53

1、这里下载biquge里面的一本电子书,书名是《两界搬运工》,代码是17_17115。之所以在这个网站下载,是因为这里的反爬措施不那么严厉,连续下载了一千二百七十七章,也没有出现封锁IP的现象。

用python下载电子书的方法

2、找到目录页,可以看到章节列表,而每一章都对应一个超链接。

用python下载电子书的方法

3、用python读取目录页:import requests as rtimport reurl = '……biquge.com.tw/17_17115/'a = rt.get(url)print(a)如果返回<Response [200]>,就说明这个页面读取成功了。

用python下载电子书的方法

4、查看页面的headers,了解编码格式:a.headers

用python下载电子书的方法

5、上面没有明确指出编码格式,尝试使用gbk编码:a.encoding='gbk'然后读取目录页的源代码:b = a.text

用python下载电子书的方法

6、用正则表达式来提取每一章的超链接:c = re.findall('<dd><a href="(/17_17115/\d+.html)">',b)

用python下载电子书的方法

7、提取每一章的标题,需要匹配汉字字符言射鐾钤串和空格:d = re.findall('</a>稆糨孝汶;</dd><dd><a href="/17_17115/\d+.html">([\u4e00-\u9fa5 ]+)',b)

用python下载电子书的方法

8、尝试着下载第二章的网页源代码:p = '……biquge.com.tw'u = rt.get(p+c[1])u.encoding = 媪青怍牙'gbk'v = u.text可以看到,网页源代码里面包含着电子书的正文内容;每一段的开头,是四个空格(&nbsp;)。

用python下载电子书的方法

9、这样,可以单独把正文的内容拿出来:w = re.findall('(&nbsp;&荏鱿胫协nbsp;&nbsp;&nbsp;.*?)<br />',v)但是,我们可以发现,段落开头的空格仍旧是&nbsp;,这样看着很难受是不是?因此,可以用' '替换&nbsp;

用python下载电子书的方法

10、替换的方法是re.sub:for j in w: j = re.sub('&nbsp;',' ',j) print(j)这个函数的具体用法,可以参考《python里面re.sub()函数的使用方法》。

用python下载电子书的方法

11、每一章保存为一个独立的txt文档;把所有txt文档都放到同一个文件夹里面——jia = u'C:\\Users\\Administrator\\Desktop\\两界搬运工\\'整体代码如下图所示。

用python下载电子书的方法

12、打开文件夹,大概半个小时,下载了1200多章。这时候再使用百度语音合成功能,就可以让人工智能自动朗读小说了。

用python下载电子书的方法
© 手抄报圈