小说采集流程:小说列表页→单本小说章节列表页→小说章节页
小说比文章多了一级网址,可以将单本小说章节列表页视为文章列表页,小说章节页视为文章内容页,多出来的是小说列表页即小说名称列表
那么小说列表页就是起始页,当然你也可以将单本小说章节列表作为起始页(类似于文章采集),本教程重点讲解多本小说采集
以http://shili.skycaiji.com/novel.html为例,将其设置为起始页网址
分析出单本小说章节列表网址规则为:novel/index/show/id/\d+\.html
注意不能直接将规则填入到“内容页网址获取”中,因为“内容页网址获取”表示的是最后一级页面即小说的章节内容页
此处匹配出的网址是章节列表页,应该添加为“多级页网址”再匹配出内容页网址
保存后测试抓取内容页网址
如图所示从起始页中抓取到了2本小说,每本小说抓取到了34条网址(此时抓取到的是全部链接,包含样式和js文件链接,需要过滤出章节网址)
进入http://shili.skycaiji.com/novel/index/show/id/1.html分析出章节网址规则:novel/chapter/show/id/\d+\.html
这时就可以将规则填入“内容页网址获取»结果网址过滤»必须包含”中,保存后再测试:
成功抓取到所有章节链接:
接下来就是抓取章节的标题、正文了,点击上图的分析,即可直接在页面中点击元素获取xpath值
获取到的标题xpath://*[@id="title"]/h1
,正文xpath://*[@id="content"]
分别添加字段:标题、正文,获取方式选择“xpath匹配”,将获取到的xpath值填入即可
保存后测试抓取数据:
如果章节有分页,可以参考文章分页教程
本示例已上传至云平台http://www.skycaiji.com/rule/100110