Documentation Index
Fetch the complete documentation index at: https://firecrawl-mog-search-exclude-include-domains.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Elixirアプリケーションから、単一ページのスクレイピング、サイト全体のクロール、URLのマッピングを行えます。SDKは実行時に NimbleOptions ですべてのパラメータを検証し、HTTP には Req を使用しているため、リクエストが送信される前に、タイプミスや無効なオプションを明確なエラーとして確認できます。
すべての関数には、{:error, ...} タプルを返す代わりに、エラー時に例外を発生させる bang (!) 版があります.
mix.exs の依存関係に firecrawl を追加し、APIキーを設定します。
# mix.exs に追加
{:firecrawl, "~> 1.0"}
# 次に config.exs で API キーを設定
config :firecrawl, api_key: "fc-YOUR-API-KEY"
または、リクエストごとにAPIキーを渡すこともできます。
Firecrawl.scrape_and_extract_from_url([url: "https://example.com"], api_key: "fc-YOUR-API-KEY")
- firecrawl.dev でAPIキーを取得します
- アプリケーションの設定にAPIキーを設定するか、任意の関数にオプションとして渡します。
# Web サイトをスクレイピングする:
{:ok, scrape_result} = Firecrawl.scrape_and_extract_from_url(
url: "https://firecrawl.dev",
formats: ["markdown", "html"]
)
IO.inspect(scrape_result.body)
# Web サイトをクロールする:
{:ok, crawl_result} = Firecrawl.crawl_urls(
url: "https://firecrawl.dev",
limit: 100,
scrape_options: [
formats: ["markdown", "html"]
]
)
IO.inspect(crawl_result.body)
scrape_and_extract_from_url を使用して、単一の URL をスクレイピングします。ページのコンテンツは、Markdown、メタデータ、その他リクエストしたフォーマットを含む構造化データとして返されます。
# Web サイトをスクレイピングする:
{:ok, result} = Firecrawl.scrape_and_extract_from_url(url: "https://firecrawl.dev", formats: ["markdown", "html"])
IO.inspect(result.body)
Web サイトをクロールするには、crawl_urls を使用します。開始 URL と、ページ数の上限、許可ドメイン、出力形式などの任意のパラメータを指定できます。
{:ok, result} = Firecrawl.crawl_urls(url: "https://docs.firecrawl.dev", limit: 5)
IO.inspect(result.body)
クロールジョブを開始し、完了を待たずにジョブIDを取得します。
{:ok, job} = Firecrawl.crawl_urls(url: "https://docs.firecrawl.dev", limit: 10)
crawl_id = job.body["id"]
IO.puts(crawl_id)
get_crawl_status を使って、クロールジョブのステータスを確認します。
{:ok, status} = Firecrawl.get_crawl_status("<crawl-id>")
IO.inspect(status.body)
cancel_crawl でクロールジョブをキャンセルできます。
{:ok, result} = Firecrawl.cancel_crawl("<crawl-id>")
IO.puts("Cancelled: #{inspect(result.body)}")
map_urls を使用して、Web サイトから URL のリストを生成します。
{:ok, result} = Firecrawl.map_urls(url: "https://firecrawl.dev", limit: 10)
IO.inspect(result.body)
ウェブを検索し、必要に応じて結果をスクレイピングします:
{:ok, result} = Firecrawl.search_and_scrape(query: "firecrawl web scraping", limit: 5)
IO.inspect(result.body["data"]["web"])
1つのバッチジョブで複数のURLをスクレイピングします:
{:ok, result} = Firecrawl.scrape_and_extract_from_urls(
urls: ["https://firecrawl.dev", "https://docs.firecrawl.dev"],
formats: ["markdown"]
)
IO.inspect(result.body)
エージェントによるデータ抽出タスクを開始します:
{:ok, job} = Firecrawl.start_agent(
prompt: "Extract all product names and prices",
urls: ["https://example.com/products"]
)
job_id = job.body["id"]
# ステータスをポーリング
{:ok, status} = Firecrawl.get_agent_status(job_id)
IO.inspect(status.body)
クラウド上のブラウザセッションを起動し、リモートでコードを実行します。
{:ok, session} = Firecrawl.create_browser_session(ttl: 600)
session_id = session.body["id"]
cdp_url = session.body["cdpUrl"]
live_view_url = session.body["liveViewUrl"]
{:ok, result} = Firecrawl.execute_browser_code(session_id,
code: ~s(await page.goto("https://news.ycombinator.com")\ntitle = await page.title()\nprint(title)),
language: "python"
)
IO.inspect(result.body)
セッションをまたいでブラウザの状態 (Cookie、localStorage など) を保存し、再利用します:
{:ok, session} = Firecrawl.create_browser_session(
ttl: 600,
profile: [
name: "my-profile",
save_changes: true
]
)
# アクティブなセッションを一覧表示する
{:ok, sessions} = Firecrawl.list_browser_sessions(status: "active")
IO.inspect(sessions.body)
# セッションを閉じる
{:ok, _} = Firecrawl.delete_browser_session(session_id)
セルフホスト型の Firecrawl インスタンスを使用するには、base_url オプションを指定します:
{:ok, result} = Firecrawl.scrape_and_extract_from_url(
[url: "https://example.com"],
base_url: "https://your-instance.com/v2"
)
bang なしの関数は {:ok, response} または {:error, exception} を返します。bang バリアントは、エラー時に例外を送出します。NimbleOptions はリクエスト送信前にすべてのパラメータを検証するため、タイプミス、必須フィールドの不足、型エラーを即座に検出できます。
case Firecrawl.scrape_and_extract_from_url(url: "https://example.com") do
{:ok, response} -> IO.inspect(response.body)
{:error, error} -> IO.puts("Error: #{Exception.message(error)}")
end
# または、エラー時に例外を発生させるbang版を使用する:
response = Firecrawl.scrape_and_extract_from_url!(url: "https://example.com")
IO.inspect(response.body)
| 関数 | 説明 |
|---|
scrape_and_extract_from_url | 単一の URL をスクレイピング |
scrape_and_extract_from_urls | 複数の URL をバッチスクレイプ |
crawl_urls | Web サイトをクロール |
get_crawl_status | クロールジョブのステータスを確認 |
get_crawl_errors | クロールジョブのエラーを取得 |
get_active_crawls | 実行中のクロールを一覧表示 |
cancel_crawl | クロールジョブをキャンセル |
map_urls | Web サイト上の URL をマッピング |
search_and_scrape | 検索結果をスクレイピング |
start_agent | エージェントによる抽出タスクを開始 |
get_agent_status | エージェントジョブのステータスを確認 |
cancel_agent | エージェントジョブをキャンセル |
create_browser_session | ブラウザセッションを作成 |
execute_browser_code | ブラウザセッションでコードを実行 |
list_browser_sessions | ブラウザセッションを一覧表示 |
delete_browser_session | ブラウザセッションを削除 |
get_batch_scrape_status | バッチスクレイプのステータスを確認 |
get_batch_scrape_errors | バッチスクレイプのエラーを取得 |
cancel_batch_scrape | バッチスクレイプをキャンセル |
get_credit_usage | 残りのクレジットを取得 |
上記のすべての関数には、エラータプルを返す代わりに例外を発生させるbang (!) 付きのバリアント (例: scrape_and_extract_from_url!) があります。
API の完全なドキュメントは、hexdocs.pm/firecrawl を参照してください。