一、什么是【边滚动边采集数据】
有很多网站,需要向下滚动页面,才能加载出新数据,像 今日头条首页、百度图片搜索、新浪微博首页 等页面都是这种情况。
在采集这类网页数据时,相对应的在八爪鱼中也需设置【页面滚动】。
八爪鱼V8.2.0之前的版本,需按照设置的滚动次数,将页面全部滚动完成之后,才会开始采集数据。
例:设置滚动20次,则需等页面滚动20次后,一次性采集前20次滚动后加载的全部数据。
详情请看教程:滚动加载数据采集方法
V8.2.0版本新增【边滚动边采集数据】功能,可以边滚动页面边采集数据。
例:设置滚动20次,则滚动1次后,采集第1次滚动后加载的数据,继续滚动第2次,采集第2次滚动后加载的数据.......直至滚动20次,采集第20次滚动后加载的数据。
二、【边滚动边采集数据】的优点
与将页面全部滚动完成之后,才会开始采集数据相比,【边滚动边采集】极大地提高了滚动采集数据的稳定性,避免滚动多次却一条数据也采集不到的情况。
三、【边滚动边采集数据】如何设置?
使用智能识别和自行配置的采集规则,都能实现【边滚动边采集】,具体设置方法如下。
1、使用智能识别实现【边滚动边采集】
示例网址:https://www.toutiao.com
Step1:在首页输入框中,输入目标网址,点击【开始采集】,八爪鱼自动打开网页。
打开网页后,选择【智能识别网页】,并给它一点时间,等待智能识别完成。
智能识别结束后,可以看到它自动识别了页面的滚动和列表数据。
Step2:点开【滚动加载数据】后的【修改】按钮,可以看到八爪鱼自动为我们进行了滚动相关设置:滚动方式为【直接滚动到底部】,滚动次数为100次,每次间隔1秒。
在这里我们先不修改,点击【确定】回退到原来页面。
Step3:点击【生成采集设置】,可自动生成相应的采集流程,方便用户编辑修改。
如图,通过流程中生成的【滚动网页】+内嵌【循环列表】步骤,即可实现边滚动页面边采集数据。
为了演示方便,我们将滚动次数调整为2次。
注意:实际采集过程中,滚动次数和间隔时间可根据实际情况进行设置。
Step4:点击左上角的【采集】,选择【启动本地采集】,八爪鱼就会开始全自动采集数据。
注意观察页面:八爪鱼滚动1次后,采集第1次滚动后加载的数据,继续滚动第2次,采集第2次滚动后加载的数据。
因为我们只设置了滚动2次,所以采集第2次滚动后加载的数据,退出采集流程。
2、自行配置采集任务实现【边滚动边采集】
如果不使用智能识别,如何自行配置采集任务,实现【边滚动边采集】呢?以下详细详解。
示例网址:https://www.toutiao.com
Step1:在首页输入框中,输入目标网址,点击【开始采集】,八爪鱼自动打开网页。关掉智能识别,我们自行配置采集任务。
Step2:在【打开网页】后添加一个【循环】步骤。
进入【循环】设置页面,选择循环方式为【滚动网页】,并进行滚动方式、滚动次数和间隔时间的设置。
示例中设置滚动方式为【直接滚动到底部】,滚动次数为2次,每次间隔1秒。
Step3:接下来,就是按照需求配置提取数据,示例中我们提取列表数据,提取方法见 采集列表数据 教程。
提取列表数据,会自动在流程中生成一个【循环列表】步骤,将【循环列表】步骤拖入到【循环】中。
这样,我们就实现了边滚动边采集。
Step4:点击左上角的【采集】,选择【启动本地采集】,八爪鱼就会开始全自动采集数据。
注意观察页面:八爪鱼滚动1次后,采集第1次滚动后加载的数据,继续滚动第2次,采集第2次滚动后加载的数据。
因为我们只设置了滚动2次,所以采集第2次滚动后加载的数据,退出采集流程。
3.局部滚动设置
部分网站的滚动方式是在网页的某个区域内局部滚动的,如果我们按前面讲的方法设置滚动,网页是不能正常滚动的,这个时候需要设置局部滚动的方式。
示例网址:https://pul.tdx.com.cn/site/app/gzhbd/tdx-topsearch/page-main.html
3.1打开网页步骤,选择滚动方式为局部滚动
3.2设置局部滚动的xpath
局部滚动xpath需要掌握xpath知识,xpath系统学习与实例
局部滚动的xpath寻找的思路:寻找滚动区域的xpath,没有寻找的固定标准,需要一个个的局部xpath测试直到找到正确的那一个xpath
测试后该网站的局部滚动xpath是://div[@class="MaxContent"]
文章评论