Skip to main content
本参考文档列出 Bright Data Scraper API 返回的错误、每种错误的含义以及处理方式。 Scraper API 错误分为两层:
  • HTTP 错误:请求本身失败。API 返回 4xx 状态码,不会运行任何任务
  • 记录错误:请求成功,但某个输入无法抓取。失败的记录会在结果中带有 error_code 字段

Scraper API 的 HTTP 错误是什么意思?

Scraper API 的 POST /datasets/v3/trigger 和 POST /datasets/v3/scrape 会返回以下 HTTP 错误。 除非某行注明了具体端点,/trigger 和 /scrape 返回的消息相同。validation_error 和 parse_error 为 JSON 响应体,其他消息均为纯文本。

频繁收到 429 错误会怎样?

任何 IP 在 5 分钟内收到 25 次及以上 429 响应,就会被 Bright Data 封禁。被封禁的 IP 的所有 API 请求都会被拦截,直到 Bright Data 支持团队解除。 429 是要求放慢速度的信号,而不是立即重试的信号:
  1. 收到 429 后立即停止发送新请求。
  2. 等待 Retry-After 标头指定的秒数。如果没有该标头,按 2、4、8、16、32 秒退避。
  3. 如果 429 响应持续出现,请降低并发。
5 分钟内出现 10 次及以上 429 响应,意味着已接近“5 分钟 25 次”的封禁阈值。请立即降低请求速率。
重试代码见异步指南中的收到 429 Too Many Requests 错误?。

Scraper API 的记录错误是什么意思?

记录错误表示 Scraper API 任务已运行,但某个输入没有返回数据。只有在请求中设置 include_errors=true 时,失败的记录才会出现在结果中。请根据 error_code 字段进行分支处理,而不是依赖自由文本的 error 消息,因为消息文本会随爬虫更新而变化。 Bright Data 不对失败的记录收费。 以下是在 POST /datasets/v3/scrape 中设置 include_errors=true 时返回的 dead_page 记录。请求本身返回 HTTP 200:
记录中保留了原始 input,便于将错误与您发送的 URL 对应起来。完整的记录错误代码列表请参见 Scraper Studio 错误代码。

空结果算错误吗?

不算。空结果([])表示任务没有返回数据,不是 HTTP 错误。要查看某个输入为何没有返回数据,请带上 include_errors=true 重新发送请求,并查看每条记录的 error_code。

相关页面