三个方法,用Python爬虫下载了《凡人修仙传》全本,你学会了吗?

我用手机写了一个Python爬虫,爬下了《凡人修仙传》……

上一次,舞剑用手机写了一个 Python 爬虫,爬取了《凡人修仙传》小说第一章的标题与正文,最后保存到 TXT 文本中。

这一次,舞剑继续完善这个 Python 爬虫小程序,将第一章之后的章节也都爬下来并保存。

要爬取之后的章节,最重要的就是找到章节的 Url ,这样才能根据 Url 进入下一章的网页,进而爬取标题与正文。

1
方法一

进入《凡人修仙传》目录,打开开发者工具查看,可以看到所有章节的 url 都包含在 class=”pagelist” 的 div 标签中。

而具体每一个章节的 url 则包含在 class=”read” 的 url 标签中。

① /book/61781/0-1/ 到 /book/61781/0-26/ 地址之间包含了所有章节 url 集合,只需要循环 26 次进入每一个 url 就行了。

使用 lxml 代码如下所示:

page_list = html.xpath('//div[@class="pagelist"]//option/@value')

②进入单独的 url 后,会看到 class=”read” 的 url 列表。这里可以创建一个列表 list,用来保存所有的章节 url, 以便后期使用。

使用 lxml 爬取代码如下所示:

pager_list = html.xpath('//ul[@class="read"]//li//a/@href')

之后就可以根据 url 列表来爬取相应的章节,直至下载全本小说。

2
方法二

第一章:http://m.9txs.com/book/61781/868469.html

第二章:http://m.9txs.com/book/61781/868470.html

从上方的网址可以分析出:

book代表小说,61781代表凡人修仙传,而最后的 868469.html 则代表着第一章,很显然 868470.html 代表第二章。

只需要不断将 868469+1 ,最终就会爬出《凡人修仙传》全本 TXT 。

3
方法三

在阅读小说的过程中,底部都会有 下一章 按钮。

切换到源码,则是下一章的 url。

上一章

目 录

下一章

只需要在解析方法时,顺便将下一章的 href 地址取出,然后拼接到网址之上,一直向前爬取,最后就会爬出《凡人修仙传》全本。

至于它的 lxml 解析方法,只有这么一段,很简单。

pag = html.xpath('//div[@class="pager"][last()]/a[last()]/@href')

好了,《凡人修仙传》全本 TXT 下载思路就在这里,至于其他的小说同理,只需要更换 url 就行了。

© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发