优化方向主要有以下三种:
一、设置执行前等待
二、设置/调整Ajax超时
三、设置页面滚动
一.设置执行前等待
执行前等待的意思是:在当前步骤等待一段时间,再执行下一个步骤
1、为什么要设置执行前等待?
② 对于一些防采集严重的网站,适当的设置执行前等待,放慢采集集速度,可以有效降低或避免触发网站的防采集措施
2、如何设置执行前等待?
① 在八爪鱼规则中,所有的步骤均可以设置执行前等待。但如果给所有步骤设置执行前等待,采集速度会变得很慢。所以我们一般为【循环列表】、【点击元素/翻页】、【提取数据】等关键步骤设置执行前等待即可。
② 执行前等待的时间,需要根据网页实际加载情况而定。
如下对【点击元素】步骤设置执行前等待3秒;
二、设置/调整Ajax超时
Ajax是一种在无需重新加载整个网页的情况下,更新部分网页的技术。
Ajax超时本质上是执行当前步骤后等待一定时间,执行前等待是执行当前步骤前等待一段时间,两种互相配合,并不冲突。
1、为什么要设置/调整Ajax超时?
原因①:大多数情况下八爪鱼能自动识别Ajax网页并设置合适的Ajax超时时间,如果自动设置的Ajax时间过短,需根据网页实际情况进行调整。
原因②:有的网页本身打开很慢,但其实数据都加载出来了,可利用Ajax超时强制结束加载,比如一些国外网站。
原因③:网页本身是Ajax,但没自动识别出来,需手动设置。
2、如何设置/调整Ajax超时?
① 一般是对【点击元素】/【点击翻页】步骤设置Ajax超时。
② Ajax超时时间不建议太短,推荐设置为5-10秒。因为如果网页一时打开较慢,那么超时时间一到,网页就停止加载数据了,容易导致采集不到数据。
如下图对【点击元素】步骤设置Ajax加载7秒;

三、设置页面滚动
即在打开一个新页面后,让页面向下滚动。
1、为什么要设置页面滚动?
原因①:有的瀑布流网页,向下滚动才能加载出新的数据。这个比较容易发现。
原因②:有的商品详情、文章详情,向下滚动才能加载出全部的数据,比如某个按钮,或者真实的图片地址。这个比较难发现,需要我们仔细观察目标网页。
2、如何设置页面滚动?
① 一般是对【打开网页】/【点击元素】/【点击翻页】等打开新页面的步骤设置滚动。
② 根据需求和网页情况设置滚动方式、滚动次数和每次滚动的间隔时间,推荐滚动【向下滚动一屏】的滚动方式,这样会采集更完整的数据,但也更费时间。
③ 具体设置方法和实例,请看 滚动采集数据的方法教程 。
如下图对【点击元素】步骤设置向下滚动;