美文网首页python热爱者Python学习
Python爬取全书网小说,免费看小说

Python爬取全书网小说,免费看小说

作者: python分享者 | 来源:发表于2018-05-20 21:24 被阅读12次
    Python

    环境:Python3.6+Windows

    开发工具:你喜欢用哪个就用哪个,你开心就好!

    模块:

    1 import urllib.request
    2 
    3 import re
    
    大牛炼成记

    主要思路:

    -1 获取主页源代码

    -2 获取章节超链接

    -3 获取章节超链接源码

    -4 获取小说内容

    -5 下载,文件操作

    Python代码了解一下

     1 import urllib.request
     2 import re
     3 # 1 获取主页源代码
     4 # 2 获取章节超链接
     5 # 3 获取章节超链接源码
     6 # 4 获取小说内容
     7 # 5 下载,文件操作
     8 
     9 # 驼峰命名法
    10 # 获取小说内容
    11 def getNovertContent():
    12     # <http.client.HTTPResponse object at 0x000001DFD017F400>
    13     html = urllib.request.urlopen("http://www.quanshuwang.com/book/0/269").read()
    14     html = html.decode("gbk")
    15     # 不加括号  不匹配
    16     # 正则表达式  .*?  匹配所有
    17     reg = r'<li><a href="(.*?)" title=".*?">(.*?)</a></li>'
    18     # 增加效率的
    19     reg = re.compile(reg)
    20     urls = re.findall(reg,html)
    21     # print(urls)
    22     # 列表
    23     # [(http://www.quanshuwang.com/book/0/269/78850.html,第一章 山边小村),
    24     # (http://www.quanshuwang.com/book/0/269/78854.html,第二章 青牛镇)]
    25     for url in urls:
    26         # 章节的URL地址
    27         novel_url = url[0]
    28         # 章节标题
    29         novel_title = url[1]
    30 
    31         chapt = urllib.request.urlopen(novel_url).read()
    32         chapt_html = chapt.decode("gbk")
    33         # r 表示原生字符串   \ \\d  r"\d"
    34         reg = r'</script>&nbsp;&nbsp;&nbsp;&nbsp;(.*?)<script type="text/javascript">'
    35         # S 代表多行匹配
    36         reg = re.compile(reg,re.S)
    37         chapt_content = re.findall(reg,chapt_html)
    38         # print(chapt_content)
    39         # 列表["&nbsp;&nbsp;&nbsp;&nbsp二愣子睁大着双眼,直直望着茅草和烂泥糊成的<br />"]
    40 
    41         # 第一个参数   要替换的字符串   替换后的字符串
    42         chapt_content = chapt_content[0].replace("&nbsp;&nbsp;&nbsp;&nbsp;","")
    43         # print(chapt_content)    字符串  二愣子睁大着双眼,直直望着茅草和烂泥糊成的<br />
    44         chapt_content = chapt_content.replace("<br />","")
    45 
    46         print("正在保存 %s"%novel_title)
    47         # w 读写模式  wb
    48         # f = open("{}.txt".format(novel_title),'w')
    49         # f.write(chapt_content)
    50 
    51         with open("{}.txt".format(novel_title),'w') as f:
    52             f.write(chapt_content)
    53 
    54         # f.close()
    55 
    56 getNovertContent()
    
    运行代码
    效果图

    相关文章

      网友评论

        本文标题:Python爬取全书网小说,免费看小说

        本文链接:https://www.haomeiwen.com/subject/glxxjftx.html