Kansoku
English日本語简体中文

本页由英文原文翻译,尚未经母语者校对。以英文版为准。 阅读英文原文

错误与限制

每个错误码的含义与是否值得重试,以及为何把来源的拒绝报告为拒绝而非空结果。

形状

{
  "error": {
    "code": "VALIDATION_FAILED",
    "message": "Invalid request body",
    "request_id": "req_…",
    "retryable": false,
    "details": { }
  }
}

用于分支判断的是 retryable除此之外的字段都不是稳定契约。

错误码

错误码含义重试
VALIDATION_FAILED请求体不符合模式不可 —— 请修正请求
UNAUTHORIZED缺少密钥或密钥未知不可
QUOTA_EXCEEDED达到套餐上限周期重置后
NO_CAPACITY没有空闲的浏览器工作进程可(请退避后重试)
NO_IP_AVAILABLE所请求的国家没有健康的地址可 —— 多为该区域仍在预热
INVALID_URL被 SSRF 防护拦截,或格式不正确不可
BROWSER_FAILED页面未能加载可(一次)
RATE_LIMITED请求过多,来自你或指向该域名可(间隔后重试)

拒绝不是空结果

当来源返回 403 或 429 时,它会作为响应上的 HTTP 状态码报告,而不会变成「内容为空的成功」。

这个区别比看上去重要:空结果读起来像「那里什么都没有」,会让你去怀疑自己的选择器,而对方实际传达的是「慢一点」。

我们连同日期一起记录拒绝,就此停止,并且不把该来源放回计划表。

礼貌是强制的,不是建议

指向同一域名的请求,无论你发得多快,间隔都会被拉开robots.txt 会被获取并遵守,包括 crawl-delay。被禁止的路径不会尝试获取,直接返回 INVALID_URL

没有可以关掉它的设置,客服也无法为你关掉。 一旦被某个来源拒绝就再也读不回来,而损失落在每一位需要它的客户身上。

最后更新