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

如何判断网页是否需要设置【页面滚动】?【页面滚动】的滚动方式、滚动次数和每次间隔如何设置?

本教程将讲解【页面滚动】的设置方法与常见应用场景。

 

一、【直接滚动到底部】

 

如果将滚动条直接拉到底部,出现类似【加载中】的字样,稍后马上有新数据出现,且滚动条变短回弹,则需设置【直接滚动到底部】,【滚动次数】根据网页本身情况和采集需求来设置,【每次间隔】时间需稍大于数据加载时间,跟网速等因素有关。

 

常见应用场景1:无翻页按钮,需不断向下滚动,加载出新数据。常见的网页有:今日头条首页百度图片搜索新浪微博首页

 

以今日头条首页为例。https://www.toutiao.com/,我们需采集新闻列表数据。先按之前列表数据采集的方法,配置采集任务。

 

 

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

下文其他图片同理

 

观察网页发现,此网页无翻页按钮,将滚动条不断直接拉到底部,出现【加载中】的字样,稍后马上有新数据出现,且滚动条变短回弹。

 

 

在八爪鱼中也可验证这一点。默认打开网页,【循环列表】中的新闻是6项。滚动到底部1次,新加载出来数据,【循环列表】中的新闻增加至24项。再滚动到底部1次,【循环列表】中的新闻增加至34项。

 

 

所以,我们需要在八爪鱼中设置【页面滚动】。选中【打开网页】步骤,打开【高级选项】,勾选【页面加载完成后向下滚动】,设置【滚动次数】5次、【每次间隔】2秒、【滚动方式】为【直接滚动到底部】。然后点击【确定】保存。

 

 

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

 

 

特别说明:

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

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

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

 

 

 

二、【向下滚动一屏】

 

还有的数据,需要在当前屏幕中展示一段时间,才能完全加载出来,进而被采集到。则需设置【向下滚动一屏】,【滚动次数】根据网页本身情况和采集需求来设置,【每次间隔】时间需稍大于数据加载时间,跟网速等因素有关。

 

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

 

以京东商品列表为例。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