请输入
菜单

规则优化

本篇主要讲解如何优化规则以采集更完整的数据 配置好了八爪鱼采集规则后,我们可以对规则进行一些优化,以更稳定地采集更完整的数据。
 

优化方向主要有以下三种:

一、设置执行前等待

二、设置/调整Ajax超时

三、设置页面滚动

 

 

一.设置执行前等待

执行前等待的意思是:在当前步骤等待一段时间,再执行下一个步骤

1、为什么要设置执行前等待?

① 避免执行步骤速度太快,很多时候网页还没加载完全就提取数据了,导致采集不到目标数据
对于一些防采集严重的网站,适当的设置执行前等待,放慢采集集速度,可以有效降低或避免触发网站的防采集措施
 

2、如何设置执行前等待?

① 在八爪鱼规则中,所有的步骤均可以设置执行前等待。但如果给所有步骤设置执行前等待,采集速度会变得很慢。所以我们一般为【循环列表】、【点击元素/翻页】、【提取数据】等关键步骤设置执行前等待即可。

② 执行前等待的时间,需要根据网页实际加载情况而定。

如下对【点击元素】步骤设置执行前等待3秒;

 

二、设置/调整Ajax超时

Ajax是一种在无需重新加载整个网页的情况下,更新部分网页的技术。

Ajax超时本质上是执行当前步骤后等待一定时间,执行前等待是执行当前步骤前等待一段时间,两种互相配合,并不冲突。

 

1、为什么要设置/调整Ajax超时?

原因①:大多数情况下八爪鱼能自动识别Ajax网页并设置合适的Ajax超时时间,如果自动设置的Ajax时间过短,需根据网页实际情况进行调整。

原因②:有的网页本身打开很慢,但其实数据都加载出来了,可利用Ajax超时强制结束加载,比如一些国外网站。

原因③:网页本身是Ajax,但没自动识别出来,需手动设置。

 

2、如何设置/调整Ajax超时?

① 一般是对【点击元素】/【点击翻页】步骤设置Ajax超时。

② Ajax超时时间不建议太短,推荐设置为5-10秒。因为如果网页一时打开较慢,那么超时时间一到,网页就停止加载数据了,容易导致采集不到数据。

如下图对【点击元素】步骤设置Ajax加载7秒;

三、设置页面滚动

即在打开一个新页面后,让页面向下滚动。

 

1、为什么要设置页面滚动?

原因①:有的瀑布流网页,向下滚动才能加载出新的数据。这个比较容易发现。

原因②:有的商品详情、文章详情,向下滚动才能加载出全部的数据,比如某个按钮,或者真实的图片地址。这个比较难发现,需要我们仔细观察目标网页。

 

2、如何设置页面滚动?

① 一般是对【打开网页】/【点击元素】/【点击翻页】等打开新页面的步骤设置滚动。

②  根据需求和网页情况设置滚动方式、滚动次数和每次滚动的间隔时间,推荐滚动【向下滚动一屏】的滚动方式,这样会采集更完整的数据,但也更费时间。

③ 具体设置方法和实例,请看 滚动采集数据的方法教程

如下图对【点击元素】步骤设置向下滚动;

 



最近修改: 2024-03-01