广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    用python下载电子书的方法

    来源:网络收集  点击:  时间:2024-02-10
    【导读】:
    本文,介绍一个把网页里面的电子书,保存到本地的方法。其实,就是用python自动下载电子书。工具/原料more电脑python3.6(anaconda)requests模块re模块方法/步骤1/12分步阅读

    这里下载biquge里面的一本电子书,书名是《两界搬运工》,代码是17_17115。

    之所以在这个网站下载,是因为这里的反爬措施不那么严厉,连续下载了一千二百七十七章,也没有出现封锁IP的现象。

    2/12

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

    3/12

    用python读取目录页:

    import requests as rt

    import re

    url = ……biquge.com.tw/17_17115/

    a = rt.get(url)

    print(a)

    如果返回Response ,就说明这个页面读取成功了。

    4/12

    查看页面的headers,了解编码格式:

    a.headers

    5/12

    上面没有明确指出编码格式,尝试使用gbk编码:

    a.encoding=gbk

    然后读取目录页的源代码:

    b = a.text

    6/12

    用正则表达式来提取每一章的超链接:

    c = re.findall(dda href=(/17_17115/\d+.html),b)

    7/12

    提取每一章的标题,需要匹配汉字字符串和空格:

    d = re.findall(/a/dddda href=/17_17115/\d+.html(+),b)

    8/12

    尝试着下载第二章的网页源代码:

    p = ……biquge.com.tw

    u = rt.get(p+c)

    u.encoding = gbk

    v = u.text

    可以看到,网页源代码里面包含着电子书的正文内容;

    每一段的开头,是四个空格(nbsp;)。

    9/12

    这样,可以单独把正文的内容拿出来:

    w = re.findall((nbsp;nbsp;nbsp;nbsp;.*?)br /,v)

    但是,我们可以发现,段落开头的空格仍旧是nbsp;,这样看着很难受是不是?因此,可以用 替换nbsp;

    10/12

    替换的方法是re.sub:

    for j in w:

    j = re.sub(nbsp;, ,j)

    print(j)

    这个函数的具体用法,可以参考《python里面re.sub()函数的使用方法》。

    11/12

    每一章保存为一个独立的txt文档;

    把所有txt文档都放到同一个文件夹里面——

    jia = uC:\\Users\\Administrator\\Desktop\\两界搬运工\\

    整体代码如下图所示。

    12/12

    打开文件夹,大概半个小时,下载了1200多章。

    这时候再使用百度语音合成功能,就可以让人工智能自动朗读小说了。

    注意事项

    完整代码,可以在百度网盘里面下载。pan.baidu.com/s/1Mwb4kdviREnCyyQxPGFsnQ ,密码是iv76。

    PYTHON爬虫电子书
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_20779.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 01:05:35  耗时:0.024
    0.0244s