> ## Documentation Index
> Fetch the complete documentation index at: https://www.bazhuayu.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 本地排错

如果用八爪鱼配置规则，采集数据出现异常，我们如何快速找出并解决问题？如何更好与客服沟通？

完善的排查视频教程参考<a href="/docs/zh/academy/video/troubleshooting/index" target="_blank" rel="noopener noreferrer">**问题排查-八爪鱼帮助中心**</a>

本教程将讲解本地采集的规则排错的基本思路与方法。

## 一、手动执行规则

做好采集规则以后，我们最好手动执行一下规则，检查规则是否满足采集需求。

手动执行规则是什么意思？打开流程图界面，按照从上至下，由内而外的逻辑（点击查看<a href="/docs/zh/academy/basic-collection/beginner/collection-logic" target="_blank" rel="noopener noreferrer">**流程执行逻辑教程**</a>），将每个步骤都点击一遍，并观察点击步骤后的页面情况。如果符合预期，没问题。如果不符合预期，则需要修改。

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

特别说明：

a. 在点击【循环列表】时，最好选择除第1项以外的项，防止循环只对第1个项有效。

<div style={{ textAlign: "center" }}>
  <img src="https://mintcdn.com/bazhuayu/Yt154rSVqBF4hhhV/assets/academy/troubleshooting/local-debug/65aa3712d24a2.png?fit=max&auto=format&n=Yt154rSVqBF4hhhV&q=85&s=418164dff3fc618bf0ca2a47f5b6f455" alt="local-debug" width="1404" height="136" data-path="assets/academy/troubleshooting/local-debug/65aa3712d24a2.png" />
</div>

b. 在【打开网页】和【点击元素】后，如果数据已经出现了，但浏览器还在转圈 <img src="https://mintcdn.com/bazhuayu/Yt154rSVqBF4hhhV/assets/academy/troubleshooting/local-debug/65aa3712b5735.png?fit=max&auto=format&n=Yt154rSVqBF4hhhV&q=85&s=43c602f367cb82e2b9c972618d020d66" alt="" className="academy-inline-icon" width="33" height="27" data-path="assets/academy/troubleshooting/local-debug/65aa3712b5735.png" /> ，可按 <img src="https://mintcdn.com/bazhuayu/Yt154rSVqBF4hhhV/assets/academy/troubleshooting/local-debug/65aa37135151d.png?fit=max&auto=format&n=Yt154rSVqBF4hhhV&q=85&s=c0e6e276872ba1658763f6ebc57477b5" alt="" className="academy-inline-icon" width="30" height="28" data-path="assets/academy/troubleshooting/local-debug/65aa37135151d.png" /> 强制停止加载，方便进入下一个步骤。

<div style={{ textAlign: "center" }}>
  <video className="tutorial-animation" controls preload="none" playsInline poster="/assets/academy/troubleshooting/local-debug/65aa371340788.webp" aria-label="local-debug">
    <source src="https://mintcdn.com/bazhuayu/71s0_euLSXSIp3C3/assets/academy/troubleshooting/local-debug/65aa371340788.mp4?fit=max&auto=format&n=71s0_euLSXSIp3C3&q=85&s=9c4dfa22cb7d56daf5197629d55131fc" type="video/mp4" data-path="assets/academy/troubleshooting/local-debug/65aa371340788.mp4" />

    您的浏览器不支持视频播放，请更新浏览器后重试。
  </video>
</div>

例：采集豆瓣图书列表数据。手动执行一下规则，运行顺畅并采集到数据。没问题。

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

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

原因①：XPath定位不准，需修改定位XPath，点击查看 <a href="/docs/zh/academy/xpath/getting-started/get-xpath" target="_blank" rel="noopener noreferrer">xpath获取方法</a>。

原因②：多次修改此步骤导致底层代码错乱，需删掉此步骤重做一遍。

#### 2.2、提取到的数据不精准

表现为数据重复、数据错位、数据漏采等多种情况。提取数据不精准一般是在运行本地采集，拿到一些数据后更容易发现的。

因此，我们在下文 **二、运行本地采集** 中详细讲。

## 二、运行本地采集

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

### 1、采集数据为0

手动执行规则有数据，启动本地采集后，很快提示：【没有采集到任何数据】

<div style={{ textAlign: "center" }}>
  <img src="https://mintcdn.com/bazhuayu/Yt154rSVqBF4hhhV/assets/academy/troubleshooting/local-debug/65aa3794c5f06.png?fit=max&auto=format&n=Yt154rSVqBF4hhhV&q=85&s=7547e2029ef71ae60408552ac3f9b616" alt="local-debug" width="1202" height="731" data-path="assets/academy/troubleshooting/local-debug/65aa3794c5f06.png" />
</div>

原因①：网页没有正常打开。需要点击采集窗口右上角的【显示网页】按钮查看网页是否正常显示。如图，显示网页后查看该网页停在了登录页面。需要在规则里配置相应的登录流程之后再开始采集。

<div style={{ textAlign: "center" }}>
  <img src="https://mintcdn.com/bazhuayu/Yt154rSVqBF4hhhV/assets/academy/troubleshooting/local-debug/65aa4f2a98df7.png?fit=max&auto=format&n=Yt154rSVqBF4hhhV&q=85&s=8e3a584824bbe7d0cf1a4031f0cfc70f" alt="local-debug" width="1197" height="828" data-path="assets/academy/troubleshooting/local-debug/65aa4f2a98df7.png" />
</div>

原因②：网页打开过快，但实际要采集的数据还未出现。需为【打开网页】后的步骤设置【执行前等待】，具体请参考 <a href="/docs/zh/academy/troubleshooting/rule-optimization" target="_blank" rel="noopener noreferrer">规则优化等待</a>。

### 2、采集速度过慢

手动执行规则有数据，采集速度很慢，在某些步骤长时间等待

原因①：网页本身打开很慢，例如一些国外网站。如果打开慢且数据出现慢，没办法只能等。如果打开慢但数据出现快，可利用Ajax超时强制结束加载。具体请参考 <a href="/docs/zh/academy/troubleshooting/ajax-web-scraping" target="_blank" rel="noopener noreferrer">Ajax教程</a>。

原因②：Ajax网页未设置Ajax超时。需在相应步骤设置Ajax超时。具体请参考 <a href="/docs/zh/academy/troubleshooting/ajax-web-scraping" target="_blank" rel="noopener noreferrer">Ajax教程</a>。

原因③：流程中层级过多，有很多点击元素或执行前等待。可根据网页采集需求和加载状况进行 <a href="/docs/zh/academy/troubleshooting/rule-optimization" target="_blank" rel="noopener noreferrer">规则优化</a>。

### 3、数据重复

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

原因①：循环中的【提取数据】步骤，未勾选【采集当前循环中设置的元素】，需勾选上

原因②：采集的字段未勾选【相对XPath】，需勾选上且写对，查看 <a href="/docs/zh/academy/xpath/relative-absolute-xpath" target="_blank" rel="noopener noreferrer">相对XPath教程</a>

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

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

#### 3.3、重复采集某几页

原因①：翻页的定位XPath有问题，需手动修改定位XPath。具体可参考 <a href="/docs/zh/academy/xpath/getting-started/get-xpath" target="_blank" rel="noopener noreferrer">xpath获取方法</a>。

### 4、数据错位

原因①：字段的定位XPath有问题，需手动修改定位XPath。具体可参考 <a href="/docs/zh/academy/xpath/modify-element/locate-element" target="_blank" rel="noopener noreferrer">字段提取不到，字段提取错位如何处理</a>。

### 5、数据漏采

（部分字段漏、部分循环项漏、整页漏）

原因①：网页上的字段/循环项/翻页按钮没加载出来。需设置执行前等待，让其加载出来。具体请参考 <a href="/docs/zh/academy/troubleshooting/rule-optimization" target="_blank" rel="noopener noreferrer">规则优化等待</a>

原因②：字段/循环项/翻页的XPath定位不准。需修改定位XPath，使得XPath适用于所有同类网页。具体可参考 <a href="/docs/zh/academy/xpath/getting-started/why-use-xpath" target="_blank" rel="noopener noreferrer">XPath教程</a>。

原因③：网页未设置【页面滚动】。有的网页数据需设置【页面滚动】才会加载完全，具体请查看 <a href="https://www.bazhuayu.com/tutorial8/81ymgd" target="_blank" rel="noopener noreferrer">页面滚动教程</a>。
