mcpField
F
firecrawl-scrape

firecrawl-scrape

github.com/firecrawlデータ・データベース1396.1k 回インストール6 日前に更新
リポジトリ

firecrawl-scrape について

firecrawl-scrapeは、URLからページ内容を抽出し、選択したプロバイダーツールで構造化データを取得するスキルです。既知のページやURL一覧を扱い、Markdown、スキーマに基づくJSON抽出、結果量の制限に対応します。

主な機能

  1. 01Markdown形式でのページ抽出
  2. 02スキーマ指定のJSON抽出
  3. 03複数URLの並行取得
  4. 04一括取得ジョブとWebhook
  5. 05PDFページ数の上限設定

活用シーン

  1. 01既知のウェブページの閲覧
  2. 02ページから指定項目を抽出
  3. 03URL一覧の処理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/firecrawl/skills --skill firecrawl-scrape

インストール後、Claude Code で/firecrawl-scrapeを入力して読み込まれたか確認します。

同梱ファイルreferences/large-results.md

詳細

firecrawl scrape

URL のページコンテンツを読み取るか、選択したプロバイダーツールを実行して構造化データを取得します。search でツールを検索し、実行前に list で入力を確認してください。複数の URL を並行してスクレイピングできます。

構造化データセットの場合は、まず search skill を使って、適切なワークフローまたはデータプロバイダーを確認してください。既知のページは直接読み取り、選択済みのコントラクトを再利用して、検索を繰り返さないようにします。

クイックスタート

# Basic markdown extraction
firecrawl scrape "<url>" -o .firecrawl/page.md

# Main content only, no nav/footer
firecrawl scrape "<url>" --only-main-content -o .firecrawl/page.md

# Wait for JS to render, then scrape
firecrawl scrape "<url>" --wait-for 3000 -o .firecrawl/page.md

# A few URLs (markdown only; each saved to .firecrawl/; -o is ignored)
firecrawl scrape https://example.com https://example.com/blog https://example.com/docs

# Get markdown and links together
firecrawl scrape "<url>" --format markdown,links -o .firecrawl/page.json

# Ask a question about the page
firecrawl scrape "https://example.com/pricing" --query "What is the enterprise plan price?"

すべてのオプションについては、firecrawl scrape --help を実行してください。

完了条件: ページコンテンツまたはプロバイダーの結果について、エラーがないことを確認し、依頼への回答に必要な範囲を区切って確認していること。ソースリンクを保持し、部分的な結果はその旨を明記してください。

ページからの構造化 JSON

json 形式で JSON スキーマを渡すと、Markdown ではなく型付きフィールドを取得できます。

firecrawl scrape "<url>" --format json \
  --schema '{"type":"object","properties":{"plan":{"type":"string"},"price":{"type":"string"}},"required":["plan"]}' \
  -o .firecrawl/pricing.json

# Large schemas: keep them in a file
firecrawl scrape "<url>" --format json --schema-file schema.json -o .firecrawl/page.json

結果は出力の .json にあります。--schema は json が --format に含まれる場合にのみ適用されます。ほかの形式を追加するには、カンマで区切ります(--format markdown,json)。同じスキーマを複数の URL に適用する場合は、以下の batch-scrape --schema を使用してください。

既知の URL が複数ある場合

Markdown 以外の形式、JSON 抽出、Webhook、または後から確認できるジョブが必要な場合は、既知の URL のリストに firecrawl batch-scrape を使用してください。Markdown のページが少数の場合は、上記の複数 URL 対応 scrape を使用してください。

# Start a job (prints a job ID), then check it later
firecrawl batch-scrape https://example.com/a https://example.com/b
firecrawl batch-scrape <job-id>

# Wait and save every document as JSON (urls.txt: one URL per line, # comments ok)
firecrawl batch-scrape --urls-file urls.txt --format markdown,links --wait -o .firecrawl/batch.json

# Same extraction for every URL (--schema or --prompt adds the json format)
firecrawl batch-scrape --urls-file urls.txt --wait \
  --schema '{"type":"object","properties":{"title":{"type":"string"}}}' -o .firecrawl/batch.json

結果は .data[] にあり、URL ごとに 1 つのドキュメントが格納され、metadata.sourceURL が含まれます。通知を受け取るには --webhook <url> を、無効な項目をスキップするには --ignore-invalid-urls を追加してください。ジョブを停止するには、ジョブ ID とともに --cancel を指定します。すべてのオプションについては、firecrawl batch-scrape --help を実行してください。

ツールの検索、入力の確認、ヘルプの参照

推測で判断するのではなく、CLI のヘルプでサポートされているオプションを確認してください。

firecrawl search --help
firecrawl list --help
firecrawl scrape --help

--domain-tools によるドメイン検索では、デフォルトでツールの概要が返されます。コントラクトを事前に確認するには --tool-detail full を追加するか、以下のように list で選択したツールを確認してください。プロバイダー、機能、説明のみを確認するには --tool-detail compact を使用し、その 2 つの ID を指定して list で確認します。デフォルトでは概要が表示されます。関連する複数のコントラクトをすぐに使う場合は、full を優先してください。

構造化データを取得するには、タスクを検索し、一致するツールのコントラクトを確認してから、宣言された正確な入力フィールドを指定して実行します。

# Web + domain matching + semantic tools
firecrawl search '<user question>'

# Semantic tools only
firecrawl search alexandria '<user question>'

# Categories → providers → tools → contract
firecrawl list
firecrawl list <category-id> --category
firecrawl list <provider-id>
firecrawl list <provider-id> <capability-id> --pretty

# Execute a tool
firecrawl scrape <provider-id>/<capability-id> --options '<JSON matching the selected contract>'

通常の検索ではウェブ検索結果とツールの一致候補が表示されます。ツールのみを検索するには search alexandria を使用します。list <provider> <capability> --pretty は選択したコントラクトを表示し、機械可読な出力には --json を使用します。段階的に確認するには、list、次に list <category> --category、続いて list <provider> を使用します。search と list は、選択したプロバイダーツールを実行しません。タスクに必要なコントラクトのみを読み取り、推測せずに返された識別子を使用してください。

入力の構築や結果の解析を始める前に、展開されたコントラクトを確認してください。

  • required: true はその入力が必須であることを示します。各 requiresOneOf グループでは、すべてではなく、少なくとも 1 つのメンバーが必要です。
  • 選択したコントラクトの確認時には、すでに例が要求されています。存在する場合は、単数形の example.request と example.response を確認してください。入力が空でも、入力が任意のツールでは有効な場合があります。
  • response.key は data.alexandria[i].data 内のレコードフィールドを示します。キーが空の場合は、そのデータオブジェクト自体を指します。すべてのプロバイダーが records を返すとは限りません。
  • プロバイダーのページネーションはカタログの next とは異なります。コントラクトに記載された継続入力と、返されたページまたはカーソルを使用し、フィルターを保持して、終了シグナルを受け取ったら停止してください。paginated: true だけでは、その対応関係は指定されていません。

実行と大きな結果

URL のスクレイピングでは、プロバイダーツールは自動的に実行されません。見つかった正確な入力フィールドを使用し、レコード ID を推測するのではなく、検索ツールで解決してください。外側の成功フラグだけでなく、各 data.alexandria[] の結果にエラーがないか確認してください。

クライアントが出力またはコンテキストの上限を報告した場合、上流のリクエストは成功している可能性があります。リクエスト ID またはスクレイピング ID を保持し、プロバイダーを再度呼び出す前に、保持された結果を取得してください。大規模なデータセットや PDF の場合は、ローカルファイルシステムが利用可能であれば --json -o を使って出力を保存し、jq などのファイルツールで範囲を限定して確認してください。JSON の標準出力とは標準エラー出力を分離してください。JSON パーサーにパイプする際は、2>&1 でストリームを結合しないでください。リモート処理が望ましい場合は、保持された結果から選択するために firecrawl scrape firecrawl/bash を使用してください。ID、コマンド例、有効期限、エラーについては、大きな結果の復旧をお読みください。これは明示的な復旧であり、自動的なオーバーフロー検出ではありません。

PDF とページ上限

PDF は解析された 1 ページにつき 1 クレジットかかります。特に大きい文書やページ数が不明な文書の PDF 解析を制限するには、--max-pages(1 から 10000 までの整数)を使用してください。

firecrawl scrape "https://example.com/report.pdf" --max-pages 5 --json -o .firecrawl/report.json

上限は PDF ごとに適用され、コマンド全体や合計クレジットには適用されません。追加の形式やオプションによって料金が発生することがあります。CLI は実行前にページ数や料金を見積もりません。JSON 出力を使用して、返された metadata.numPages(解析済み)、metadata.totalPages(文書の総ページ数)、および存在する場合は metadata.creditsUsed を確認してください。解析済みページ数が総ページ数より少ない場合、結果は一部のみです。

ヒント

  • --query より通常のスクレイピングを優先してください。 ファイルにスクレイピングしてから、grep、head を使うか、Markdown を直接読んでください。全コンテンツを自分で検索し、推論できます。ページを保存せずに特定の回答だけを得たい場合に限り、--query を使用してください(追加で 5 クレジットかかります)。
  • スクレイピングは静的ページと JS で描画された SPA に対応しています。 ページで操作(クリック、フォーム入力、ページネーション)が必要な場合、またはスクレイピングでコンテンツを取得できない場合は、interact に切り替えてください。
  • 複数の URL は並行してスクレイピングされるため、並行処理の上限は firecrawl --status で確認してください。このモードでは Markdown のみが保存され、-o は無視されます。他に指定した形式は破棄されます。Markdown をリクエストしていない場合、JSON レスポンス全体が .md ファイルに書き込まれます。他の形式や JSON 抽出が必要な場合は、batch-scrape を使用してください。
  • 単一形式の出力は生のコンテンツです。複数の形式(例:--format markdown,links)を指定すると、JSON が出力されます。
  • URL は必ず引用符で囲んでください。シェルは ? と & を特殊文字として解釈します。
  • 命名規則:.firecrawl/{site}-{path}.md

関連項目

  • firecrawl-search — URL がわからない場合にページを検索します
  • firecrawl-interact — スクレイピングでコンテンツを取得できない場合に、interact を使ってクリックやフォーム入力などを行います
  • firecrawl-download — サイト全体をローカルファイルに一括ダウンロードします
  • firecrawl-build-scrape — ここで実行するのではなく、スクレイピングをアプリに組み込む方法

コメント