安装注册
模板采集
自定义入门
循环
ajax与新标签
登录验证
XPath
特殊翻页
提取数据
数据导出
云采集
其他功能点
点击【加载更多】或【再显示20条】等按钮翻页
2021-08-31 11410
有的网页没有下一页按钮,但是有【加载更多】或【再显示20条】等按钮,通过不断点击这些按钮,可以实现翻页,加载出新数据。
针对这类网页,使用智能识别和自行配置的采集规则,都能实现翻页,具体设置方法如下:
1、智能识别实现【点击加载更多翻页】
示例网址如:https://weixin.sogou.com/
八爪鱼的智能识别,支持【加载更多内容】这种翻页的智能识别,如下图所示:
在 新手入门第8课:采集原理与流程执行逻辑 中,我们讲过,流程的执行逻辑是先从上至下、再由内而外。那上图中的流程的执行逻辑是:先打开网页,然后不断点击【加载更多内容】进行翻页,翻页全部完成以后,再提取所有列表数据。
这里有一个问题,如果网页【加载更多内容】这个按钮是可以无限点击的,那八爪鱼就会一直点击它,容易导致程序崩溃,采集不到数据。因此,我们可以设置一定的点击次数,让八爪鱼执行设置的翻页次数后,就开始采集数据。建议点击次数不超过500次,具体可根据网页情况和采集需求来。
本示例中的网站,我们观察后发现,它是在点击5次【加载更多内容】后就到底了,不再出现新内容了,因此,我们可以将它的翻页次数设为5,设置方法如下图所示:
启动本地采集,来看一下采集结果:八爪鱼先点击了5次【加载更多内容】,到达底部,此时页面中有100个文章列表。随后,八爪鱼将这100个文章列表的数据都采集下来了。
2、自己配置采集流程实现【点击加载更多翻页】
如果不用智能识别 ,可自己配置采集流程。
按照 第6课:翻页以采集多页数据 中的方法,配置一个【循环翻页】,再按 采集列表数据 中的方法,配置一个【循环列表】。
八爪鱼自动生成的流程不符合此网页的采集情况,我们需要手动调整一下:按住【循环列表】步骤,将其拖入到【循环翻页】后面。
为何要这么调整,上文已详细说明。
同样的,我们根据网页情况,设置合适的翻页次数:
我们还发现,自动生成的列表XPath://BODY[@id="loginWrap"]/DIV[4]/DIV[1]/DIV[3]/UL[1]/LI有点问题,只能定位到前20个文章列表。修改为//BODY[@id="loginWrap"]/DIV[4]/DIV[1]/DIV[3]/UL/LI后就可以定位到全部文章列表了。为什么要这么修改?请查看XPath教程。
特别说明:
a. 八爪鱼在导出数据时,支持数据去重。如果不介意采集过程中有重复数据,也可不调整流程逻辑。
作者:Bin
编辑:Aisling