Firecrawl で行う基本的なスクレイピング
/scrape
エンドポイントを使用します。
PDFのスクレイピング
parsers
オプション(例: parsers: ["pdf"]
)を使用してください。
スクレイピングのオプション
/scrape
エンドポイントを使用する際は、以下のオプションでスクレイピングをカスタマイズできます。
フォーマット (formats
)
- 型:
array
- 文字列:
["markdown", "links", "html", "rawHtml", "summary"]
- オブジェクト形式:
- JSON:
{ type: "json", prompt, schema }
- スクリーンショット:
{ type: "screenshot", fullPage?, quality?, viewport? }
- 変更追跡:
{ type: "changeTracking", modes?, prompt?, schema?, tag? }
(markdown
が必要)
- JSON:
- デフォルト:
["markdown"]
ページ全体のコンテンツとメインコンテンツ(onlyMainContent
)
- タイプ:
boolean
- 説明: 既定ではスクレイパーはメインコンテンツのみを返します。ページ全体のコンテンツを返すには
false
に設定してください。 - デフォルト:
true
- Type:
array
- Description: スクレイプに含める HTML のタグ/クラス/ID。
- 型:
array
- 説明: スクレイプ対象から除外する HTML のタグ・クラス・ID。
ページの準備完了を待つ(waitFor
)
- 型:
integer
- 説明: スクレイピング開始前に待機する時間(ミリ秒)。必要な場合のみ最小限の使用を推奨。
- デフォルト:
0
鮮度とキャッシュ(maxAge
)
- タイプ:
integer
(ミリ秒) - 説明: ページのキャッシュが
maxAge
以内に更新されたものであれば、Firecrawl は即座にそれを返し、そうでなければ新規にスクレイプしてキャッシュを更新します。常に最新を取得するには0
を設定します。 - デフォルト:
172800000
(2日)
リクエストのタイムアウト (timeout
)
- 型:
integer
- 説明: 中止までの最大時間(ミリ秒)。
- デフォルト:
30000
(30秒)
PDF 解析(parsers
)
- 型:
array
- 説明: 解析動作を制御します。PDF を解析するには、
parsers: ["pdf"]
を設定します。
アクション (actions
)
- 型:
array
- 説明: スクレイピング前に実行するブラウザ操作のシーケンス。
- サポートされるアクション:
wait
{ milliseconds }
click
{ selector }
write
{ selector, text }
press
{ key }
scroll
{ direction: "up" | "down" }
scrape
{ selector }
(サブ要素をスクレイプ)executeJavascript
{ script }
pdf
(一部のフローで PDF レンダリングを起動)
使い方の例
cURL
- ページ全体のコンテンツをMarkdownで返します。
- レスポンスにMarkdown、raw HTML、HTML、リンク、スクリーンショットを含めます。
- HTMLタグの
<h1>
、<p>
、<a>
と、クラス.main-content
を持つ要素のみを含め、IDが#ad
と#footer
の要素は除外します。 - ページの読み込みのため、スクレイピング前に1000ミリ秒(1秒)待機します。
- スクレイプリクエストの最大実行時間を15000ミリ秒(15秒)に設定します。
parsers: ["pdf"]
を指定してPDFを明示的に解析します。
フォーマットによるJSON抽出
formats
内の JSON フォーマットオブジェクトを使用します。
Extract エンドポイント
複数ページのクロール
/v2/crawl
エンドポイントを使用します。
cURL
クローラー ジョブの確認
cURL
ページネーション/次のURL
next
パラメータ(次の結果ページへのURL)が含まれることがあります。
クロール用プロンプトとパラメータのプレビュー
prompt
を指定すると、Firecrawl がクロール設定を自動で推定します。まずはプレビューしてください:
cURL
クローラーのオプション
/v2/crawl
エンドポイントを使用する際は、以下のオプションでクロールの挙動をカスタマイズできます:
includePaths
- 型:
array
- 説明: インクルード対象とする正規表現パターン。
- 例:
["^/blog/.*$", "^/docs/.*$"]
excludePaths
- 型:
array
- 説明: 除外対象を指定する正規表現パターン。
- 例:
["^/admin/.*$", "^/private/.*$"]
maxDiscoveryDepth
- Type:
integer
- Description: 新規URL発見のための最大探索深度。
limit
- Type:
integer
- Description: クロールするページ数の上限。
- Default:
10000
crawlEntireDomain
- 型:
boolean
- 説明: 兄弟ページや親ページにも探索を拡げ、ドメイン全体をカバーします。
- デフォルト:
false
allowExternalLinks
- Type:
boolean
- Description: 外部ドメインへのリンクを追跡します。
- Default:
false
allowSubdomains
- 型:
boolean
- 説明: メインドメインのサブドメインもクロールします。
- 既定値:
false
delay
- Type:
number
- Description: スクレイピング間の遅延(秒)。
- Default:
undefined
scrapeOptions
- Type:
object
- Description: スクレイパーのオプション(上記のフォーマット参照)。
- Example:
{ "formats": ["markdown", "links", {"type": "screenshot", "fullPage": true}], "includeTags": ["h1", "p", "a", ".main-content"], "excludeTags": ["#ad", "#footer"], "onlyMainContent": false, "waitFor": 1000, "timeout": 15000}
- Defaults:
formats: ["markdown"]
、既定でキャッシュ有効(maxAge 約2日)
使い方の例
cURL
ウェブサイトのリンクのマッピング
/v2/map
エンドポイントは、指定したウェブサイトに関連するURLを特定します。
使い方
cURL
マップオプション
search
- Type:
string
- Description: 指定したテキストを含むリンクをフィルタします。
limit
- Type:
integer
- Description: 返すリンクの最大数
- Default:
100
sitemap
- Type:
"only" | "include" | "skip"
- Description: マッピング時のsitemapの利用方法を制御します。
- Default:
"include"
includeSubdomains
- Type:
boolean
- Description: ウェブサイトのサブドメインを含めるかどうか。
- Default:
true