編集

Cloudflare Browser Renderingの/crawl APIがオープンベータでサイト全体クロールに対応

CloudflareのBrowser Renderingに、サイト全体を巡回するREST APIの/crawlエンドポイントがオープンベータとして追加。開始URLを1回のPOSTで渡すと、ページの自動発見、ヘッドレスブラウザでのレンダリング、非同期ジョブでの結果取得までを公式APIにまとめたもの。取得結果はHTML、Markdown、構造化JSON(Workers AIを利用)のいずれかで受け取れる。

エンドポイントはsigned agentとして振る舞い、既定でrobots.txtAI Crawl Controlを尊重する設計。モデル学習用データ集め、RAG、サイト横断の調査・監視といった用途に、サイト所有者のガイドラインを踏まえやすいクロール提供を意図したもの。

ジョブは非同期で、POSTでジョブIDを受け取り、GETで進捗・結果を取得する。以下は主な挙動とオプション。

  • 出力形式: HTML、Markdown、構造化JSON
  • 巡回範囲: 深度、ページ上限、ワイルドカードによるパスinclude/exclude
  • ページ発見: サイトマップ、ページ内リンク、または両方
  • 増分: modifiedSincemaxAgeで変化のないページや直近取得済みの省略
  • 静的モード: render: falseでブラウザを起動せず静的HTML取得(静的サイト向けの高速化)
  • マナー: robots.txtcrawl-delay含む)を尊重

Workers FreeおよびPaidプランで利用可能。/crawlはCloudflareのボット検証やCAPTCHAを迂回するものではなく、ボットとして自明の識別子を持つ。

bash
# クロール開始
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/" }'

# 結果確認
curl -X GET 'https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl/{job_id}' \
  -H 'Authorization: Bearer <apiToken>'

#参考文献

編集