python爬虫之路【5】多线程爬取小说

时间:2024-03-19 12:53:28

这次是python爬取某小说网站的所有完结小说

网站:http://www.ddxsw.la/wanben/1

  • 进入网站,分析

可以看到有500多页,每一页都有小说 ,目的就是全部爬取下来(实际我只爬了2页,太多了。。)

python爬虫之路【5】多线程爬取小说

python爬虫之路【5】多线程爬取小说

  • 分析这个页面,获得每本书的url

可以发现,每本书的链接都是这样存储在html里面的,可以用beautifulsoup或者xpath等解析(我是用bs)

 

python爬虫之路【5】多线程爬取小说

然后就是第n页,和大多数网页一样,就是在url里面更改参数即可,十分简单

python爬虫之路【5】多线程爬取小说

  •  正式爬小说

随便打开一部小说,可以发现结构都是如图所示,分为三个部分

python爬虫之路【5】多线程爬取小说

  •  首先得到一章的内容

仔细分析html即可,注意要把第二部分最新章节给筛选掉,不然会有重复章节,我继续是用bs,其实用re也行

 

python爬虫之路【5】多线程爬取小说

 进入页面,可以正式爬取内容了,注意有些章节会分两页,这里要特判一下

python爬虫之路【5】多线程爬取小说

  • 最后把所有章节存入一个txt就可以了,就爬下了一本书

利用多线程,循环爬取每一本书即可


总结:中间有多细节的地方,比如bs解析网页要十分细节(参考官方文档)

还有就是编码问题,几乎每次都有,最后就是代码优化,我感觉还不是很快

python爬虫之路【5】多线程爬取小说

源码参见github:https://github.com/hrzzz/NovelSpider,欢迎大家提出意见