有很多网站,需要向下滚动页面,才能加载出新数据。那相对应的,在八爪鱼中也需设置【页面滚动】。

【页面滚动】一般有两种情况:【直接滚动到底部】和【向下滚动一屏】。

 

一、【直接滚动到底部】

 

适用场景:将滚动条直接下来到网页底部,出现类似【加载中】字样,稍后马上有新数据出现,且滚动条变短回弹。

常见的网页:今日头条首页百度图片搜索新浪微博首页,都是这种情况。

 

 

鼠标放到图片上,右键,选择【在新标签页中打开图片】可查看高清大图

下文其他图片同理

 

以今日头条首页为例。https://www.toutiao.com/,我们需采集新闻列表数据。就需要在打开网页后不断向下滚动,加载新数据。

 

在八爪鱼中怎么实现呢?以下为具体操作步骤。

 

步骤一、创建一个采集任务

 

可以使用【智能识别】,也可以用 第3课:采集列表数据 中学到的方法,自行配置采集任务。这里使用【智能识别】,可以自动识别网页上的数据和滚动,如下图所示。

 

 

步骤二、调整滚动次数、每次间隔时间

将鼠标移动到【打开网页】步骤上,点击  按钮,进入步骤设置页面。此网页是无限滚动的,八爪鱼自动为我们设置了【滚动次数】90次、【每次间隔】1秒。大家可根据实际需求进行调整。【每次间隔】时间需稍大于网页上数据加载的时间(网页上数据加载的时间又跟网速等因素有关)。

 

 

为方便演示,在这里,设置【滚动次数】5次。

 

 

启动采集来看一下采集结果。八爪鱼自动执行了【直接滚动到底部】5次,然后采集滚动5次后的数据。

 

 

特别说明:

1、此网页是无限向下滚动加载数据的,八爪鱼无法一次采集到所有数据。上面示例是设置了滚动5次,实际采集过程中可根据需求来设置滚动次数。

2、此类网页常见于数据实时性高的新闻类网站,在八爪鱼中可以使用云采集,设置定时启动,少量多次采集最新数据。

3、有时候网页很快,类似【加载中】的提示不明显。【是否有新数据出现】、【观察滚动条的回弹次数】是比较好用的判断标准,请注意观察网页。

 

二、【向下滚动一屏】

 

适用场景:数据需在当前屏幕中展示一段时间,才能完全加载出来,进而才能被采集到。

常见的网页:今日头条首页百度图片搜索新浪微博首页,都是这种情况。

 

以京东商品列表为例。https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&suggest=1.his.0.0&wq=&pvid=1b312c8afe2845bd94fe55ff1b6165a8,我们想要采集全部商品列表。先按之前列表数据采集的方法,配置采集任务。下面是一个配置好的任务,其中特别注意【图片链接】这个字段。

 

 

启动采集看一下采集结果。我们发现【图片链接】这个字段没有采集到。

 

 

返回流程,手动执行一下采集流程。我们发现,主图在当前屏幕中展示出来时(循环中的第1、2、3项),其链接可以被采集到。主图不在当前屏幕中展示出来时(循环中更靠后的项),其链接采集不到。

 

 

说明我们需要在八爪鱼中进行相同设置。将鼠标移动到【打开网页】步骤上,点击  按钮,进入步骤设置页面。勾选滚动方式为【向下滚动一屏】,【滚动次数】10次、【每次间隔】2秒。

这里的【滚动次数】和【每次间隔】,大家可根据实际需求进行调整。【每次间隔】时间需稍大于网页上数据加载的时间(跟网速等因素有关)。

 

 

再次启动采集来看一下。八爪鱼自动执行了【向下滚动一屏】10次,全部60个商品列表的主图都得以在当前屏幕中展示2秒,主图链接也被正常采集下来了。

 

 

特别说明:

a.  如果某一个字段或者某几项数据没采集到,可以手动执行规则去检查一下,很有可能就是需要设置【向下滚动一屏】。

b.  示例中滚动次数设为10次,就能将所有列表都在当前屏幕中展示一遍了。实际采集过程中,根据网页情况具体设置采集次数。

c. 【向下滚动一屏】的一屏,跟运行采集任务时的窗口展示区域有关。如下图,左侧滚动的一屏 > 右侧滚动的一屏。

 

 

 

作者:Aisling

编辑:Aisling