龙空技术网

python 爬取网络小说 二

程序喵喵 166

前言:

现时姐妹们对“python爬取豆瓣小说”可能比较看重,大家都需要学习一些“python爬取豆瓣小说”的相关资讯。那么小编也在网络上汇集了一些有关“python爬取豆瓣小说””的相关资讯,希望朋友们能喜欢,各位老铁们快快来学习一下吧!

‘书接上文,上回书说道’,前一篇文章提到,我们要一起爬取一本网络小说,而且已经把小说目录爬取下来了(不清楚的朋友可以翻前一篇文章看一下,传送门:python 爬取网络小说)

小说目录

现在我们来思考一下,怎样把正文爬取下来呢?

目录

大家想想,我们一般看小说的时候是怎么看的呢?是不是按章节来的,就像这样:打开一本小说,先浏览一下目录,然后看一下,自己对这本书的是否感兴趣,如果有某一章的标题比较吸引你,就点进去看一下,比如说我这个时候突然对第五章感兴趣,就点击一下目录的第五章。这一点,我们就来到了正文的内容。

正文

这一点,为什么这么神奇,ta 如何找到正文的内容的呢?我们一起来看一下目录的标签

<dd> <a href="/book/3137/10542770.html" style="">第五章 齐岳,柳溪</a></dd>

大家会发现,这个目录标签中有一个 href 属性,我之前跟大家提到过,href 属性的值一般就是链接,浏览器就是通过这个找到这一章所对应的正文的,那么这样说的话,这个链接会不是就是正文所对应的 URL 呢 ?我们来试一下,直接复制这个链接,粘贴到浏览器的网址栏中看一下,是否能得到正文内容。

url

很明显出错了,这是怎么回事呢?难道不是这样的吗?我们把第五章正文的 URL 复制出来看一下:

再看一下刚刚我们得到的那个 URL

/book/3137/10542770.html

有没有发现什么,是不是这两个 URL 有些相似,上面的后半部分跟下面的是一样的,再找几个其他章节的 URL 来看一下

仔细观察一下,你发现了什么?没错,这上面几个 URL 有一部分是一样的,而不一样的那部分,是不是就是我们之前从href 中取得的内容?啊,你已经发现一个天大的秘密!知道了这个秘密,我们是不是就可以人为地构造出正文的 URL 了,通过 URL 我们不就可以获取到正文的内容了吗!哈哈哈哈

先尝试一下,手动拼接一下,再粘贴到浏览器试一下,看有没有用,毕竟时间才是检验真理的唯一标准。结果当然是成功了啊(这个大家试一下,我这里截图不好演示效果)既然发现了这个,我们就肯定要用代码来实现。而不是用我们手动拼接的方式来访问吧,要不然,爬虫的意义何在呢?

正文

内容我们已经拿到了,现在要做的就是将小说正文提取出来,这里的方法我就不细说了

小说正文

给大家看一下我的实现,这里我对这个脚本做了一些优化,增加了一些人机交互,我首先打印出文章的全部章节目录,然后让用户选择需要爬取的章节,比如说你想看第 6 章,就输入 6,然后就打印出第六章的正文内容。

章节目录

章节选择

章节内容

感觉不错吧,快夸夸我,哈哈哈,下面是大家最想看的源码:

源码1

源码2

这两张图片是一个完整的脚本,大家拼接一下。有什么问题欢迎在评论区留言。

标签: #python爬取豆瓣小说