Skip to main content

インストール

Firecrawl の Python SDK をインストールするには、pip を使用します:
Python

使い方

  1. firecrawl.dev で API キーを取得します
  2. API キーを環境変数 FIRECRAWL_API_KEY に設定するか、Firecrawl クラスにパラメータとして渡します。
SDK の使用例:
Python

URLのスクレイピング

単一のURLをスクレイピングするには、scrape メソッドを使用します。URLを引数に取り、取得したドキュメントを返します。
Python

ウェブサイトをクロールする

ウェブサイトをクロールするには、crawl メソッドを使用します。開始URLと任意のオプションを引数に取ります。オプションでは、クロールするページ数の上限、許可するドメイン、出力フォーマットなど、クロールジョブの追加設定を指定できます。自動/手動のページネーションや制限については Pagination を参照してください。
Python

サイトマップのみクロール

sitemap="only" を使用して、サイトマップの URL のみをクロールします(開始 URL は常に含まれ、HTML のリンク探索は行われません)。
Python

クロールを開始

ノンブロッキングがお好みですか?下のAsync Classセクションをご覧ください。
start_crawl を使うと待たずにジョブを開始できます。ステータス確認に使えるジョブの ID を返します。完了までブロックして待機したい場合は crawl を使用してください。ページングの動作と制限は Pagination を参照してください。
Python

クロールのステータス確認

クロールジョブのステータスを確認するには、get_crawl_status メソッドを使用します。ジョブIDを引数に取り、クロールジョブの現在のステータスを返します。
Python

クロールのキャンセル

クロールジョブをキャンセルするには、cancel_crawl メソッドを使用します。start_crawl のジョブIDを引数に取り、キャンセル結果のステータスを返します。
Python

ウェブサイトをマッピングする

map を使って、ウェブサイトから URL の一覧を生成します。オプションで、サブドメインの除外やサイトマップの利用など、マッピングの挙動をカスタマイズできます。
Python

WebSockets を使ったウェブサイトのクロール

WebSockets でウェブサイトをクロールするには、start_crawl でジョブを開始し、watcher ヘルパーで購読します。ジョブ ID を指定して watcher を作成し、start() を呼び出す前にハンドラー(例: page、completed、failed)を登録します。
Python
Firecrawl の /crawl および batch scrape の各エンドポイントは、追加のデータがある場合に next URL を返します。Python SDK はデフォルトで自動ページネーションを行い、すべてのドキュメントを集約します。この場合、nextNone になります。自動ページネーションを無効化したり、ページネーションの動作を制御するための上限を設定することも可能です。

PaginationConfig

get_crawl_status または get_batch_scrape_status を呼び出す際のページネーション動作を制御するには、PaginationConfig を使用します。
Python

手動ページネーションヘルパー

auto_paginate=False の場合、追加のデータがあると、レスポンスに next URL が含まれます。次のページを取得するには、これらのヘルパーメソッドを使用します:
  • get_crawl_status_page(next_url) - 前のレスポンスに含まれる不透明な next URL を使用して、クロール結果の次のページを取得します。
  • get_batch_scrape_status_page(next_url) - 前のレスポンスに含まれる不透明な next URL を使用して、バッチスクレイプ結果の次のページを取得します。
これらのメソッドは、元のステータス呼び出しと同じ型のレスポンスを返し、さらにページが残っている場合は新しい next URL を含みます。

クロール

最も手軽なのはウェイター方式の crawl を使うことです。もしくはジョブを開始して手動でページ処理を行ってください。
シンプルなクロール(自動ページネーション、デフォルト)
ページネーションを制御した手動クロール
ジョブを開始し、auto_paginate=False を指定して 1 ページずつ取得します。後続のページを取得するには get_crawl_status_page を使用します。
Python
Manual crawl with limits (auto-pagination + early stop)
自動ページネーションは有効のまま、max_pagesmax_results、または max_wait_time で早期停止します。
Python

バッチスクレイプ

waiter メソッド batch_scrape を使うか、ジョブを開始して手動でページングします。
シンプルなバッチスクレイプ(自動ページネーション、デフォルト)
  • 既定のフローは Batch Scrape を参照してください。
ページネーション制御付きの手動バッチスクレイピング
auto_paginate=False を指定してジョブを開始し、1ページずつ取得します。後続のページを取得するには get_batch_scrape_status_page を使用します。
Python
制限付きの手動バッチスクレイプ(自動ページネーション + 早期停止)
自動ページネーションは有効にしたまま、max_pagesmax_results、または max_wait_time で早期に停止します:
Python

エラーハンドリング

SDK は Firecrawl API から返されるエラーを処理し、適切な例外をスローします。リクエスト中にエラーが発生した場合は、わかりやすいエラーメッセージ付きの例外がスローされます。

非同期クラス

非同期処理には AsyncFirecrawl クラスを使用します。メソッドは Firecrawl と同等ですが、メインスレッドをブロックしません。
Python

ブラウザ

クラウドブラウザセッションを起動し、リモートでコードを実行できます。

セッションの作成

Python

コードの実行

Python
Python の代わりに JavaScript を実行する:
Python

プロファイル

セッション間でブラウザの状態(クッキーや localStorage など)を保存して再利用します:
Python

CDP 経由で接続する

Playwright をフルに制御するには、CDP URL を使用して直接接続します。
Python

セッションの一覧取得とクローズ

Python