基于requests
库编写的爬虫,目标小说网站https://www.bq46.cc/,类似的小说网站殊途同归,均可采用本文方法爬取。
目标网站:传送门
本文的目标书籍:《重生之不负韶华》
- Python+PyCharm下载及安装包及活码都已打包了,源码可👇👇
基本思路
网络爬虫的工作实际上主要分为三个部分:
- 获取网页内容,通过
requests
库实现; - 解析网页内容,得到其中我们想要的章节,
- 将解析出的内容储存到文本文档中;
一、运行效果步骤
1.代码运行演示
(代码编写完毕,右键运行代码)
2.运行结果如下,
- 需要找到具体的书面ID才能进行爬取
3.打开想要看的小说页面
(复制小说网址和数字)
4.粘贴在书名ID这里点击回车键
- 这里网址也要进行修改
- 再把数字数字ID粘贴上去按回车键
这样就下载完成可进行离线观看了 ,每个章节也会在后台文件夹中生成章节
二、代码展示
请求网页内容
一、导入模块
"""
[使用模块]: requests >>> pip install requests <第三方模块>
parsel >>> pip install parsel <第三方模块>
prettytable >>> pip install prettytable <第三方模块>
二、获取小说的标题及小说目录的href
# print(html_data)
selector_2 = parsel.Selector(html_data)
divs = selector_2.css('.listmain dd')
for div in divs:
title = div.css('a::text').get()
href = div.css('a::attr(href)').get()
url = 'https://www.bqg70.com' + href
三、用for循环遍列小说目录,并获取小说正文
for div in divs:
title = div.css('a::text').get()
href = div.css('a::attr(href)').get()
url = 'https://www.bqg70.com' + href
try:
response = requests.get(url=url, headers=headers)
selector = parsel.Selector(response.text)
# getall 返回的是一个列表 []
book = selector.css('#chaptercontent::text').getall()
book = '\n'.join(book)
# 数据保存
四、保存小说
with open(filename + title + '.txt', mode='a', encoding='utf-8') as f:
f.write(book)
print('正在下载章节: ', title)
except Exception as e:
print(e)
本期爬取小说就讲到这里
完整小说源码和Python学习资料
扫描下方二维码免领取源码还有案例↓ ↓ ↓
最后这里免费分享给大家一份Python全台学习资料,包含视频、源码。课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、自动化测试带你从零基础系统性的学好Python!
👉[[CSDN大礼包:《python安装工具&全套学习资料》免费分享]](安全链接,放心点击)