firecrawl について
Firecrawl CLI でウェブを検索、スクレイプ、クロールし、ページを操作するためのスキルです。LLM のワークフロー向けに結果を整理し、抽出方法の選択と出力の扱い方を案内します。
主な機能
- 01ウェブページの検索とスクレイプ
- 02URL のマッピングとサイト内クロール
- 03agent による構造化データ抽出
- 04browser によるページ操作
- 05ウェブサイトのローカルファイル保存
- 06コマンド出力の保存と整理
活用シーン
- 01トピックに関する情報源の検索と収集
- 02指定ページのコンテンツ抽出
- 03サイト内のドキュメント群の収集
- 04操作が必要なページからの情報取得
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ pedronauck/ skills --skill firecrawlインストール後、Claude Code で/firecrawlを入力して読み込まれたか確認します。
同梱ファイルrules/install.mdrules/security.md
詳細
Firecrawl CLI
Web スクレイピング、検索、ブラウザー自動化の CLI です。LLM のコンテキストウィンドウに最適化された、クリーンな Markdown を返します。
すべてのオプションの詳細は、firecrawl --help または firecrawl <command> --help を実行してください。
前提条件
インストールと認証が必要です。firecrawl --status で確認してください。
🔥 firecrawl cli v1.8.0
● Authenticated via FIRECRAWL_API_KEY
Concurrency: 0/100 jobs (parallel scrape limit)
Credits: 500,000 remaining
- 同時実行数:並列ジョブの最大数です。この上限まで並列操作を実行できます。
- クレジット:残りの API クレジットです。スクレイピング/クロールのたびにクレジットを消費します。
準備ができていない場合は、rules/install.md を参照してください。出力の取り扱いに関するガイドラインは、rules/security.md を参照してください。
firecrawl search "query" --scrape --limit 3
ワークフロー
次の段階的な進め方に従ってください。
- 検索 - 特定の URL がまだない場合。ページを探したり、質問に回答したり、情報源を見つけたりします。
- スクレイピング - URL がある場合。そのコンテンツを直接抽出します。
- マップ + スクレイピング - 大規模なサイト、または特定のサブページが必要な場合。
map --searchを使って適切な URL を見つけてから、スクレイピングします。 - クロール - サイトのセクション全体(例:すべての /docs/)から一括でコンテンツを取得する必要がある場合。
- ブラウザー - インタラクション(ページネーション、モーダル、フォーム送信、複数ステップのナビゲーションなど)が必要で、スクレイピングに失敗した場合。
| 必要なこと | コマンド | 使用する場面 |
|---|---|---|
| トピックに関するページを探す | search | 特定の URL がまだない場合 |
| ページのコンテンツを取得する | scrape | URL があり、ページが静的または JS でレンダリングされている場合 |
| サイト内の URL を探す | map | 特定のサブページを見つける必要がある場合 |
| サイトのセクションを一括抽出する | crawl | 多数のページ(例:すべての /docs/)が必要な場合 |
| AI を活用したデータ抽出 | agent | 複雑なサイトから構造化データを取得する必要がある場合 |
| ページを操作する | browser | クリック、フォーム入力、ページネーション、ログインなどが必要な場合 |
| サイトをファイルとしてダウンロードする | download | サイト全体をローカルファイルとして保存する場合 |
コマンドの詳細なリファレンスは、各コマンドのスキル(例:firecrawl-search、firecrawl-browser)を使用するか、firecrawl <command> --help を実行してください。
スクレイピングとブラウザーの使い分け:
- まず
scrapeを使ってください。静的ページと JS でレンダリングされた SPA に対応しています。 - ボタンのクリック、フォームへの入力、複雑なサイト内の移動、無限スクロールなど、ページの操作が必要な場合や、必要なコンテンツをすべて取得できずスクレイピングに失敗した場合は、
browserを使ってください。 - Web 検索に
browserは使わないでください。代わりにsearchを使ってください。
重複取得を避ける:
search --scrapeはすでにページのコンテンツ全体を取得します。これらの URL を再度スクレイピングしないでください。- 再取得する前に、既存のデータがないか
.firecrawl/を確認してください。
出力と整理
ユーザーがコンテキスト内での返却を指定しない限り、-o を使って結果を .firecrawl/ に書き込みます。.firecrawl/ を .gitignore に追加してください。URL は必ず引用符で囲んでください。シェルが ? や & を特殊文字として解釈するためです。
firecrawl search "react hooks" -o .firecrawl/search-react-hooks.json --json
firecrawl scrape "<url>" -o .firecrawl/page.md
命名規則:
.firecrawl/search-{query}.json
.firecrawl/search-{query}-scraped.json
.firecrawl/{site}-{path}.md
出力ファイル全体を一度に読み込まないでください。grep、head、または分割して読み込む方法を使ってください。
wc -l .firecrawl/file.md && head -50 .firecrawl/file.md
grep -n "keyword" .firecrawl/file.md
単一形式の場合は生のコンテンツを出力します。複数の形式(例:--format markdown,links)の場合は JSON を出力します。
結果の活用
複雑なタスクでファイルベースの出力(-o フラグ)を扱う際は、次の方法が役立ちます。
# Extract URLs from search
jq -r '.data.web[].url' .firecrawl/search.json
# Get titles and URLs
jq -r '.data.web[] | "\(.title): \(.url)"' .firecrawl/search.json
並列化
独立した操作は並列で実行してください。同時実行数の上限は firecrawl --status で確認できます。
firecrawl scrape "<url-1>" -o .firecrawl/1.md &
firecrawl scrape "<url-2>" -o .firecrawl/2.md &
firecrawl scrape "<url-3>" -o .firecrawl/3.md &
wait
ブラウザーでは、独立したタスクごとに別のセッションを起動し、--session <id> を使って並列に操作してください。
クレジットの使用
firecrawl credit-usage
firecrawl credit-usage --json --pretty -o .firecrawl/credits.json