爬取笔趣阁小说

仅供学习参考,其他用途概不负责

爬取链接:辰东的深空彼岸 https://www.bbiquge.net/book_132488/

深空彼岸

当然也可以爬取其他小说,改一下id就行

book_id字段

https://www.bbiquge.net/book_132488

1. 爬取思路

  • 向服务器发起请求
  • 获取服务器响应response
  • 解析html网页,得到想要的信息
  • 保存我们爬取的信息

2. 爬取准备

从书籍详情页爬取书籍名称,作者,还有每一章的链接,这里我们使用parsel的CSS选择器

构建方式也很简单

selector = parsel.Selector(html)
book_name = selector.css('#info h1::text').get() # 小说名字
author = selector.css('#info small a::text').get() # 作者
hrefs = selector.css('.zjlist dd a::attr(href)').getall() # 小说章节url

得到每章的标题和小说内容

title = selector1.css('#main h1::text').get() # 每章的标题
content_list = selector1.css('#main #content::text').getall() # 小说内容以列表存储

3. 代码部分

import requests
import parsel
url = 'https://www.bbiquge.net/book_132488/'
r = requests.get(url, timeout=30)
r.raise_for_status()
r.encoding = r.apparent_encoding
html = r.text
selector = parsel.Selector(html)
book_name = selector.css('#info h1::text').get() # 小说名字
author = selector.css('#info small a::text').get() # 作者
hrefs = selector.css('.zjlist dd a::attr(href)').getall() # 小说章节url
for href in hrefs:
# https://www.bbiquge.net/book_132488/53726615.html
url1 = url + href # 每章的url
response1 = requests.get(url1, timeout=30)
response1.encoding = 'gbk' # 小说网页采取gbk编码,直接给出编码方式提高爬取速度
selector1 = parsel.Selector(response1.text)
title = selector1.css('#main h1::text').get() # 每章的标题
content_list = selector1.css('#main #content::text').getall() # 小说内容以列表存储
content = '\n'.join(content_list).replace(' 笔趣阁 www.bbiquge.net,最快更新\n最新章节!', '') # 去除每章开头的无关部分
with open('./book/' + book_name + '.txt', mode='a', encoding='utf-8') as f:
f.write(title)
f.write('\n')
f.write(content)
f.write('\n')
print(title)
print('下载完成!!!')

4. 总结

爬取笔趣阁比较简单,不需要伪装headers,主要是对爬取下来的网页的信息提取。

posted @   Oraer  阅读(612)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示