近日沉迷网络小说不能自拔的某人让我趁着网站限免把她想看的小说爬取下来,免得到时候又要付费看书,本来对于这种又要看正版又想占便宜不给钱的行为的我是深恶痛绝的,然而。。。为了小命我还是做一下吧。
主要使用的库:requests,bs4
对与爬取某小说网站的内容,可以分三步走:
一.获取小说目录
1.获取该网站的目标小说的目录页面
2.解析目录页面提取所有章节的地址和名称
二.获取章节内容
1.根据所获得的所有章节的地址一个个进行网页内容的爬取
2.解析获得的页面并提取出章节内容
三、保存
第一步操作只要进行一次,因此对整体的效率而言并没有太大影响
第二步是影响整个程序爬取效率的主要因素,大量的时间耗费在获取页面和解析内容上,因此可以将这部分改成多线/进程,异步等提高效率。不过这次仅爬取一部小说,总共2k+页数,数量不多,就不在这方面做优化。但是,有一点要注意,requests库中,respons对象提供一个apparent_encoding方法来对页面内容的编码进行推测,帮助快速获得有效内容。然而多次使用apparent_encoding对解析速度的影响并不小,因此,像爬取章节内容时,每次爬取的页面都相似,页面内容编码都相同,只需第一次爬取时将apparent_encoding保存下来即可。
本次爬取以爬取网络小说《恶魔总裁霸道宠:老婆,太腹黑》为例,由于网页版QQ阅读并没有出现该小说的限免,本人另找了一个盗版网站进行爬取,经实测,本程序也可以爬取起点中文网的限免小说,只需要修改下目标地址和修改需要解析的标签即可。
首先,获取html页面并解析,为方便保存和使用页面的encoding,直接使用全局变量
import requests
from bs4 impor

本文介绍如何使用Python的requests和bs4库爬取网络小说。通过获取小说目录,解析章节链接,逐个下载内容,最终保存到本地。以小说《恶魔总裁霸道宠:老婆,太腹黑》为例,详细讲解了爬虫实现步骤,同时提到可以针对不同网站进行适应性修改。
最低0.47元/天 解锁文章
1853

被折叠的 条评论
为什么被折叠?



