这次是python爬取某小说网站的所有完结小说
网站:http://www.ddxsw.la/wanben/1
-
进入网站,分析
可以看到有500多页,每一页都有小说 ,目的就是全部爬取下来(实际我只爬了2页,太多了。。)
-
分析这个页面,获得每本书的url
可以发现,每本书的链接都是这样存储在html里面的,可以用beautifulsoup或者xpath等解析(我是用bs)
然后就是第n页,和大多数网页一样,就是在url里面更改参数即可,十分简单
-
正式爬小说
随便打开一部小说,可以发现结构都是如图所示,分为三个部分
-
首先得到一章的内容
仔细分析html即可,注意要把第二部分最新章节给筛选掉,不然会有重复章节,我继续是用bs,其实用re也行
进入页面,可以正式爬取内容了,注意有些章节会分两页,这里要特判一下
-
最后把所有章节存入一个txt就可以了,就爬下了一本书
利用多线程,循环爬取每一本书即可
总结:中间有多细节的地方,比如bs解析网页要十分细节(参考官方文档)
还有就是编码问题,几乎每次都有,最后就是代码优化,我感觉还不是很快
源码参见github:https://github.com/hrzzz/NovelSpider,欢迎大家提出意见