有些文章内容太长会采用分页模式来显示,以文章“http://shili.skycaiji.com/article/news/pg/id/20.html”为例
首先我们在“采集器设置》获取内容》内容分页”中开启分页
文章一般都是正文有分页,我们将“正文”字段添加为“分页内容字段”


文章页面图片:


图中我们可以看到有4种分页形式:完整分页、上下分页、完整分页JS模式和上下分页JS模式

分页连接的格式为:article/news/pg/id/数字.html?page=数字

通过“测试》分析网页”功能获取到各个分页区域的xpath:

  • 完整分页://*[@id="page_list"]/li[1]

  • 上下分页://*[@id="page_list"]/li[3]

  • 完整分页JS模式://*[@id="page_list"]/li[2]

  • 上下分页JS模式://*[@id="page_list"]/li[4]


以上xpath值可以在“内容分页》获取分页区域”中设置以获取固定区域的分页链接,否则将获取整个页面的分页链接

分页链接规则:
完整分页和上下分页直接通过a标签获取链接即可:

  1. <a href="[内容1]">

复制代码


JS模式分页通过查看源码发现链接格式为:

  1. <a onclick="javascript:page('网址');">

复制代码




使用规则匹配出分页链接:

  1. <a onclick="javascript:page('[内容1]');">

复制代码


因为JS模式不能自动补全网址,所以要在“拼接成最终分页链接”中填写:

  1. http://shili.skycaiji.com[内容1]

复制代码


为了防止匹配到非分页链接,在“内容分页》分页网址过滤》必须包含”中填写“page=”,精准一些则用“article/news/pg/id/d+.html?page=d+”

我们测试下“完整分页JS模式”的链接抓取



“测试》抓取分页”效果



注意:很多网站由于程序问题会出现2种格式的文章首页链接,比如示例中的文章首页链接为:http://shili.skycaiji.com/article/news/pg/id/20.htmlhttp://shili.skycaiji.com/article/news/pg/id/20.html?page=1(从第二页开始文章首页为该链接),这2个链接内容是一样的会导致文章首页重复抓取
解决方法:在“内容分页》分页网址过滤》不能包含”中填写“page=1$”即排除掉第一页链接

常见问题:

  • 上下页模式每次只能抓取一个分页链接能采集完整吗?可以的,程序会根据下一页自动抓取到最后一页,可以用“测试》抓取字段”看看数据是否抓取完整

  • 如果分页链接顺序打乱了,文章分页内容会乱吗?不会的,程序自动根据分页编号排序,会按照正常分页顺序采集内容

  • 最大分页数是怎么回事?是为了防止出现死循环,当实际分页数不超过最大分页数时使用实际分页数,超过最大分页数时使用最大分页数


相关文章