我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python爬虫之小说网站--下载小说(

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python爬虫之小说网站--下载小说(

python爬虫之小说网站--下载小说(正则表达式)

思路:

1.找到要下载的小说首页,打开网页源代码进行分析(例:https://www.kanunu8.com/files/old/2011/2447.html)

2.分析自己要得到的内容,首先分析url,发现只有后面的是变化的,先获得小说的没有相对路径,然后组合成新的url(每章小说的url)

3.获得每章小说的内容,进行美化处理

 

代码如下:

#小说爬虫
import requests
import re
url='https://www.kanunu8.com/book4/10509/'
#因为编码原因,先获取二进制内容再进行解码
txt=requests.get(url).content.decode('gbk') #当前小说编码为"gbk2312"
m1=re.compile(r'<td colspan="4" align="center"><strong>(.+)</strong>')
#print(m1.findall(txt))
m2=re.compile(r'<td( width="25%")?><a href="(.+\.html)">(.+)</a></td>')
#print(m2.findall(txt))
raw=m2.findall(txt) #获得小说的目录以及对应的每个章节的相对路径
sanguo=[]
for i in raw:
    sanguo.append([i[2],url+i[1]])  #生成每个章节的url

#print(sanguo)

m3=re.compile(r'<p>(.+)</p>',re.S)  #每章节小说内容
m4=re.compile(r'<br />')            #<br />小说内容中的符号
m5=re.compile(r'&nbsp;&nbsp;&nbsp;&nbsp;')
with open('中国合伙人1.txt','a') as f:
    for i in sanguo:
        i_url=i[1]  #i[1]为小说章节url
        print("正在下载----->",i[0])    #i[0]为小说章节目录
        r_nr=requests.get(i_url).content.decode('gbk')
        n_nr=m3.findall(r_nr)
        #print(n_nr)
        n=m4.sub('',n_nr[0]) #把n_nr[0]中"<br />"替换为空
        n2=m5.sub('',n)
        f.write('\n'+i[0]+'\n') #把小说的目录写入文件
        f.write(n2)

运行效果如下:

保存的内容如下:

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python爬虫之小说网站--下载小说(

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python爬虫之小说网站--下载小说(

python爬虫之小说网站--下载小说(正则表达式)思路:1.找到要下载的小说首页,打开网页源代码进行分析(例:https://www.kanunu8.com/files/old/2011/2447.html)2.分析自己要得到的内容,首先
2023-01-30

python 爬取国内小说网站

目录原理先行实践篇完整代码原理先行作为一个资深的小说爱好者,国内很多小说网站如出一辙,什么 *阁啊等等,大都是 get 请求返回 html 内容,而且会有标志性的
等标签。 所以大概的原理,就是先 get 请求这个网站,然后对
2022-06-02

如何使用Python网络爬虫实现起点小说下载

如何使用Python网络爬虫实现起点小说下载,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。今天要跟大家分享一个小说爬取案例--------起点小说的小说下载。在做这个案例之
2023-06-15

python 爬取全本免费小说网的小说

这几天朋友说想看电子书,但是只能在网上看,不能下载到本地后看,问我有啥办法?我找了好几个小说网址看了下,你只能直接在网上看,要下载txt要冲钱买会员,而且还不能在浏览器上直接复制粘贴。之后我就想到python的爬虫不就可以爬取后下载吗?  
2023-01-30

Python制作爬虫采集小说

开发工具:python3.4 操作系统:win8 主要功能:去指定小说网页爬小说目录,按章节保存到本地,并将爬过的网页保存到本地配置文件。 被爬网站:http://www.cishuge.com/ 小说名称:灵棺夜行 代码出处:本人亲自码的
2022-06-04

怎么用Python写个听小说的爬虫

这篇文章主要介绍了怎么用Python写个听小说的爬虫的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Python写个听小说的爬虫文章都会有所收获,下面我们一起来看看吧。书名和章节列表随机点开一本书,这个页面
2023-06-29

Python的scrapy之爬取6毛小说

闲来无事想看个小说,打算下载到电脑上看,找了半天,没找到可以下载的网站,于是就想自己爬取一下小说内容并保存到本地圣墟 第一章 沙漠中的彼岸花 - 辰东 - 6毛小说网  http://www.6mao.com/html/40/40184/1
2023-01-30

Python脚本自动下载小说

本人喜欢在网上看小说,一直使用的是小说下载阅读器,可以自动从网上下载想看的小说到本地,比较方便。最近在学习Python的爬虫,受此启发,突然就想到写一个爬取小说内容的脚本玩玩。于是,通过在逐浪上面分析源代码,找出结构特点之后,写了一个可以爬
2023-01-31

Python scrapy爬取起点中文网小说榜单

一、项目需求 爬取排行榜小说的作者,书名,分类以及完结或连载 二、项目分析 目标url:“https://www.qidian.com/rank/hotsalesstyle=1&page=1”通过控制台搜索发现相应信息均存在于html静态网
2022-06-02

Python多线程如何下载有声小说

这篇文章跟大家分析一下“Python多线程如何下载有声小说”。内容详细易懂,对“Python多线程如何下载有声小说”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Python多线程
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录