跳转到主要内容
如果用八爪鱼配置规则,采集数据出现异常,我们如何快速找出并解决问题?如何更好与客服沟通? 完善的排查视频教程参考问题排查-八爪鱼帮助中心 本教程将讲解本地采集的规则排错的基本思路与方法。

一、手动执行规则

做好采集规则以后,我们最好手动执行一下规则,检查规则是否满足采集需求。 手动执行规则是什么意思?打开流程图界面,按照从上至下,由内而外的逻辑(点击查看流程执行逻辑教程),将每个步骤都点击一遍,并观察点击步骤后的页面情况。如果符合预期,没问题。如果不符合预期,则需要修改。

1、手动执行规则,符合预期

特别说明: a. 在点击【循环列表】时,最好选择除第1项以外的项,防止循环只对第1个项有效。
local-debug
b. 在【打开网页】和【点击元素】后,如果数据已经出现了,但浏览器还在转圈 ,可按 强制停止加载,方便进入下一个步骤。
local-debug
例:采集豆瓣图书列表数据。手动执行一下规则,运行顺畅并采集到数据。没问题。

2、手动执行规则,不符合预期,可能有以下几种现象:

2.1、点击某个步骤后无响应

原因①:XPath定位不准,需修改定位XPath,点击查看 xpath获取方法 原因②:多次修改此步骤导致底层代码错乱,需删掉此步骤重做一遍。

2.2、提取到的数据不精准

表现为数据重复、数据错位、数据漏采等多种情况。提取数据不精准一般是在运行本地采集,拿到一些数据后更容易发现的。 因此,我们在下文 二、运行本地采集 中详细讲。

二、运行本地采集

将任务启动本地采集。观察任务的采集状态,进而分析问题、解决问题。下面是一些常见的问题和解决方法汇总。

1、采集数据为0

手动执行规则有数据,启动本地采集后,很快提示:【没有采集到任何数据】
local-debug
原因①:网页没有正常打开。需要点击采集窗口右上角的【显示网页】按钮查看网页是否正常显示。如图,显示网页后查看该网页停在了登录页面。需要在规则里配置相应的登录流程之后再开始采集。
local-debug
原因②:网页打开过快,但实际要采集的数据还未出现。需为【打开网页】后的步骤设置【执行前等待】,具体请参考 规则优化等待

2、采集速度过慢

手动执行规则有数据,采集速度很慢,在某些步骤长时间等待 原因①:网页本身打开很慢,例如一些国外网站。如果打开慢且数据出现慢,没办法只能等。如果打开慢但数据出现快,可利用Ajax超时强制结束加载。具体请参考 Ajax教程 原因②:Ajax网页未设置Ajax超时。需在相应步骤设置Ajax超时。具体请参考 Ajax教程 原因③:流程中层级过多,有很多点击元素或执行前等待。可根据网页采集需求和加载状况进行 规则优化

3、数据重复

3.1、【循环-提取数据】类规则,重复采集每页第1条数据

原因①:循环中的【提取数据】步骤,未勾选【采集当前循环中设置的元素】,需勾选上 原因②:采集的字段未勾选【相对XPath】,需勾选上且写对,查看 相对XPath教程

3.2、【循环-点击元素-提取数据】类规则,重复点击每页第1个链接

原因①:【点击元素】步骤,未勾选【点击当前循环中设置的元素】,需勾选上

3.3、重复采集某几页

原因①:翻页的定位XPath有问题,需手动修改定位XPath。具体可参考 xpath获取方法

4、数据错位

原因①:字段的定位XPath有问题,需手动修改定位XPath。具体可参考 字段提取不到,字段提取错位如何处理

5、数据漏采

(部分字段漏、部分循环项漏、整页漏) 原因①:网页上的字段/循环项/翻页按钮没加载出来。需设置执行前等待,让其加载出来。具体请参考 规则优化等待 原因②:字段/循环项/翻页的XPath定位不准。需修改定位XPath,使得XPath适用于所有同类网页。具体可参考 XPath教程 原因③:网页未设置【页面滚动】。有的网页数据需设置【页面滚动】才会加载完全,具体请查看 页面滚动教程