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 次及以上 HTTP 429 响应,就会被 Bright Data 临时封禁。该阈值统计的是 429 响应数,而不是请求总数。被封禁的 IP 的所有 API 请求都会被拒绝,临时 IP 封禁会在一小时后自动解除,无需联系 Bright Data 支持团队。

被封禁前如何处理 429 响应?

429 是要求放慢速度的信号,而不是立即重试的信号:
  1. 收到 429 后立即停止发送新请求。
  2. 如果响应包含 Retry-After 标头,等待其指定的秒数。否则按 2、4、8、16、32 秒退避,并在每次等待中加入随机抖动。
  3. 设定固定的重试次数上限。如果 429 响应持续出现,请暂停并降低并发。
仅靠退避不会释放任务容量。429 消息 You have too many running jobs for this dataset 表示您已有 5,000 个活动任务或快照在运行,因此在运行中的任务完成前,请提交更少、更大的任务。
5 分钟内出现 10 次及以上 429 响应,意味着已接近“5 分钟 25 次”的封禁阈值。请立即降低请求速率。共用同一出口 IP 的多个 worker 会累计到同一阈值,因此请在它们之间协调限流:各自独立的重试循环加起来也可能达到 25 次。

我的 IP 已被封禁怎么办?

临时 IP 封禁会在一小时后自动解除,恢复访问无需依赖 Bright Data 支持团队:
  1. 停止从被封禁 IP 发出的所有 API 请求,包括重试。
  2. 解决导致 429 响应的原因,例如降低并发,或将多个输入合并为更少的任务。
  3. 一小时后,以更低的请求速率或并发逐步恢复,避免再次被封禁。
如果影响严重或时间紧迫,或者一小时后 IP 仍被封禁,请联系 Bright Data 支持团队,并提供您的出口公网 IP 地址、受影响的 API 端点、带时区的时间戳以及观察到的错误详情。Bright Data 无法保证立即解除封禁。 重试代码见异步指南中的收到 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。

相关页面