怎么用Python爬虫下载整本小说
发表于:2024-09-25 作者:千家信息网编辑
千家信息网最后更新 2024年09月25日,这篇文章主要介绍"怎么用Python爬虫下载整本小说",在日常操作中,相信很多人在怎么用Python爬虫下载整本小说问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用
千家信息网最后更新 2024年09月25日怎么用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安全错误
数据库的锁怎样保障安全
中国民企银行软件开发
数据库sql的内容
前端软件开发工程师面试题
网站数据库设计视频
计算机软件开发二本哪里好
软件开发生命周期论文
附加数据库 错误5159
浙江综合管理平台软件开发
数据库中的超键是什么
网络安全者的微信头像
计算机网络技术看准网
美肌工坊互联网科技美容领导者
铜陵app软件开发公司哪家好
360网络安全平台
三国志11武将数据库
门头沟区综合软件开发口碑推荐
网络技术集合
网络安全交通句子
访问服务器数据库
根据产品设计数据库表
网络安全法具体措施
如何将数据库放在桌面
不履行网络安全保护义务被处罚
地理数据库的优点
人社局网络安全责任追究制度
u852配置数据库
服务器宝塔安全设置
软件开发企业间合作模式
公安网的网络安全概述
nas 数据库热备