OpenAICloudflare Developer Platform2026/03/10 0:00

Browser Rendering - Crawl entire websites with a single API call using Browser Rendering

要点だけを先に読めるように短く再構成したセクションです。

元記事

Quick Digest

要約

要点だけを先に読めるように短く再構成したセクションです。

openaijamodel: gpt-5-mini-2025-08-07

Browser Rendering /crawl で単一APIによるサイト全体クロール(β)

Key Points

  • 単一APIで全サイトをクロール
  • HTML/Markdown/JSONで出力
  • robots.txtとAI制御を尊重

Summary

Browser Rendering の新しい /crawl エンドポイント(オープンβ)により、開始URLを送るだけでサイト内のURLを自動発見し、ヘッドレスブラウザでレンダリングしたページをHTML、Markdown、構造化JSONで取得できます。ジョブは非同期実行(ジョブIDを受け取ってポーリング)され、robots.txt と AI Crawl Control をデフォルトで尊重します。

Key Points

  • 出力フォーマット: HTML、Markdown、構造化JSON(Workers AI による整形)
  • クロール制御: 深度(depth)、ページ上限、ワイルドカードによる包含/除外パターンが指定可能
  • 自動発見: サイトマップやページ内リンクからURLを検出
  • 増分クロール: modifiedSince と maxAge で変更のないページをスキップ可能(コスト節約)
  • 静的モード: render: false によりブラウザを起動せず静的HTMLを高速取得
  • マナー重視: robots.txt の指示(crawl-delay 等)と AI Crawl Control を遵守
  • 制限: Cloudflare のボット検出やキャプチャは回避不可。クローラは自己識別する
  • 利用プラン: Workers Free と Paid 両方で利用可能

Usage (簡易フロー)

  1. POST でジョブ作成: URL を送信すると job_id が返る。ポーリングで処理結果を取得。

    curl -X POST 'https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl'
    -H 'Authorization: Bearer <apiToken>'
    -H 'Content-Type: application/json'
    -d '{ "url": "https://example.com/" }'

  2. GET でジョブ結果取得({job_id} を指定):

    curl -X GET 'https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl/{job_id}'
    -H 'Authorization: Bearer <apiToken>'
    -H 'Content-Type: application/json'

Practical tips

  • 大規模サイトは depth、page limit、ワイルドカードで範囲を絞る。増分クロールを使ってコストを削減。
  • 静的サイトは render: false を検討すると高速化できる。
  • 事前に robots.txt とサイトマップの設定を確認し、サイトオーナーの指示に従う。

参照: /crawl エンドポイントのドキュメントと robots.txt / sitemap のベストプラクティス。

Full Translation

翻訳

原文の流れを保ったまま読める翻訳セクションです。

openaijamodel: gpt-5-mini-2025-08-07

Browser Rendering - 単一の API 呼び出しでウェブサイト全体をクロールする

単一の API 呼び出しでウェブサイト全体をクロールする — Browser Rendering

公開日: 2026-03-10

編集: この投稿はサイトのガイダンスに関するクロール挙動を明確にするために編集されました。

Cloudflare の Browser Rendering に新しく追加された /crawl エンドポイント(オープンベータ)を使うと、単一の API 呼び出しでウェブサイト全体をクロールできます。開始 URL を送信すると、ページが自動的に発見され、ヘッドレスブラウザでレンダリングされ、HTML、Markdown、構造化された JSON など複数のフォーマットで返されます。エンドポイントは signed-agent ↗ を使い、デフォルトで robots.txt と AI Crawl Control ↗ を尊重するため、開発者がウェブサイトのルールに従いやすく、クローラーがサイト所有者のガイダンスを無視する可能性が下がります。

この機能はモデルのトレーニング、RAG パイプラインの構築、サイト全体のコンテンツ調査や監視に最適です。

クロールジョブの流れ

クロールジョブは非同期で実行されます。URL を送信するとジョブ ID が返され、ページが処理されるにつれて結果を確認できます。

ターミナル例

以下は基本的な操作例です。

Initiate a crawl:

curl -X POST 'https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl' -H 'Authorization: Bearer <apiToken>' -H 'Content-Type: application/json' -d '{ "url": "https://blog.cloudflare.com/" }'

Check results:

curl -X GET 'https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl/{job_id}' -H 'Authorization: Bearer <apiToken>' -H 'Content-Type: application/json' -d '{ "url": "https://blog.cloudflare.com/" }'

主な機能

  • 複数の出力フォーマット
    • クロールしたコンテンツを HTML、Markdown、構造化 JSON(Workers AI による処理)で取得できます。
  • クロール範囲の制御
    • クロール深度、ページ上限、ワイルドカードパターンで特定の URL パスを含める/除外する設定が可能です。
  • 自動ページ発見
    • sitemap やページ内リンクから URL を自動発見します(両方を併用可能)。
  • 増分クロール
    • modifiedSince や maxAge を使って、変更がないページや最近取得済みのページをスキップし、繰り返しクロールの時間とコストを節約できます。
  • スタティックモード
    • render: false を設定するとブラウザを起動せずに静的な HTML を取得でき、静的サイトの高速クロールに適しています。
  • マナーの良いボット
    • robots.txt の指示(crawl-delay を含む)を尊重します。

Workers Free および Workers Paid の両プランで利用可能です。

注意: /crawl エンドポイントは Cloudflare のボット検出や CAPTCHA を回避するものではなく、自己識別(self-identifies)としてボットを示します。

開始方法や詳細は crawl endpoint documentation を参照してください。自身のサイトをクロールされる設定にする場合は、robots.txt と sitemaps のベストプラクティスを確認してください。