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_URLSSRF防御に阻まれた、または不正な形式不可
BROWSER_FAILEDページが読み込めなかった可(1回)
RATE_LIMITED送りすぎ。自分側か、相手ドメイン側か可(間隔を空けて)

拒否は「空の結果」ではありません

相手が 403 や 429 を返したとき、それはレスポンスのHTTPステータスとして報告されます。「中身が空の成功」にはしません。

この区別は見た目より重要です。空の結果は「そこには何も無い」と読めるので、 セレクタを疑いに行くことになります。実際のメッセージは「速度を落とせ」でした。

拒否は日時とともに記録し、そこで停止し、その情報源をスケジュールに戻しません。

礼儀は設定ではなく強制です

同一ドメイン宛のリクエストは、こちらがどれだけ速く送っても間隔が空けられますrobots.txt は取得して従います。crawl-delay も含みます。禁止されたパスは、取得を試みずに INVALID_URL を返します。

これを解除する設定はありません。サポートに依頼しても解除できません。 一度拒否された取得元は二度と読めず、その損失はその情報源を必要としているすべてのお客様に及ぶからです。

最終更新