怎么用Python爬虫下载整本小说
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要介绍"怎么用Python爬虫下载整本小说",在日常操作中,相信很多人在怎么用Python爬虫下载整本小说问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用
千家信息网最后更新 2025年01月23日怎么用Python爬虫下载整本小说
这篇文章主要介绍"怎么用Python爬虫下载整本小说",在日常操作中,相信很多人在怎么用Python爬虫下载整本小说问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用Python爬虫下载整本小说"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1.首先第一步,导入两个我们需要的包
# 用于获取网页的html
from urllib import request
# 用于解析html
from bs4 import BeautifulSoup
2. 我们来分析一下,我们要抓取的小说页面(广告还挺显眼的)
我们看下这个界面然后再来看看html源码
我们会发现,我框住的地方正是我们所需要的地方,但是注意上面的最新章节和我们的正式的小说目录也就是下面的地方,他们都处于
中,待会大家可以看看我是怎么处理的。
然后再来看看小说阅读的界面:
这个界面就很简单了,我们来看看HTML源码:
很容易看到
标签中的正是每一章的标题,
标签中的也就是正文
OK,经过我们初步分析,我们可以开始写代码了!
3.首先我们写出获取网页html源码的一个方法:
# 得到网页的html
def getHtml(url):
url = url
res = request.urlopen(url)
res = res.read().decode()
# print(res)
return res
这个方法传入一个url,会返回一个html源码
4.然后我们再来写一下,获取整本小说所有章节的链接的方法:
# 解析小说章节页面,获取所有章节的子链接
def jsoupUrl(html):
# 获取soup对象
url_xiaoshuo = BeautifulSoup(html)
# 因为我们要拿取class为box1中的div
class_dict = {'class': 'box1'}
url_xiaoshuo = url_xiaoshuo.find_all('div', attrs=class_dict)
# 因为分析html中的代码可以发现div的class为box1的有两个,通过上面的代码返回的是一个list格式的结果,所以下面的索引应该是1
# 我们要获取li中的值,所以find_all,这个方法返回的是一个list集合
url_xiaoshuo = url_xiaoshuo[1].find_all('li')
# print(url_xiaoshuo)
# 创建一个集合,用于存放每个章节的链接
url_xs = []
for item in url_xiaoshuo:
# 获取每个元素中的href值
url = item.a['href']
# 将值传入url_xs集合中
url_xs.append(url)
return url_xs
具体的解释,我已经写在注释里了,不懂的可以在公众号后台留言
5.我们获取到每个章节的链接之后,我们就需要把每一章节的内容给弄下来并且把它写入到txt文本而且每个文本的标题为章节的标题
# 解析小说每个章节的的主要内容
def jsoupXiaoshuo(list):
for item in list:
html = getHtml(item)
html = BeautifulSoup(html)
# 获取小说标题
title = html.h2.get_text()
xiaoshuo = html.find_all('p')
for item in xiaoshuo:
str = item.get_text()
# open中的第二个参数是让每一次的字符串接连到上一个字符串,千万不能是w
with open(title + '.txt', 'a') as f:
f.write(str+'\n')
6.最后我们再main方法中运行这几个方法即可:
if __name__ == '__main__':
html = getHtml("http://www.136book.com/dadaozhaotian/")
url_xs = jsoupUrl(html)
jsoupXiaoshuo(url_xs)
运行出来的结果:
到此,关于"怎么用Python爬虫下载整本小说"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
小说
章节
方法
爬虫
源码
链接
面的
学习
代码
地方
标题
界面
网页
分析
两个
也就是
内容
字符
字符串
文本
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
分布式数据库有哪些特征
软件挂服务器
5g业务服务器是什么
网络技术化的演进过程包括
舵手数据库出错
大专的论文进数据库吗
初中网络安全主题班会ppt免费
通信服务器是什么意思
web服务器工作原理视频
数据网络技术分析
服务器软体测试
联想服务器怎么查看内存条型号
摇头机连不上服务器
徐汇区智能化软件开发定制介绍
丰台区数据网络技术咨询哪家好
河北手机软件开发大概要多少钱
剑侠手游数据库修改
成都中小学网络安全平台
公安网络安全教育小结
通信集成和软件开发
网络安全税务信息化
舵手数据库出错
重庆时钟同步服务器虚拟主机
汉口串口服务器多少钱
网络技术三级考试题型应用题
网络安全作文450写
国家网络安全教育计划
福建java软件开发管理
油管外评中国数据库变化
我的门派链接服务器