
概要
- 前回のスクレイプ以降にウェブページが変化したかを検知する
- スクレイプ間の具体的な差分を確認する
- 何が変わったかの構造化データを取得する
- 変更の公開範囲(可視性)を制御する
changeTracking
フォーマットを使用すると、サイト上の変更を監視し、以下の情報を受け取れます:
previousScrapeAt
: 現在のページが比較対象としている前回のスクレイプのタイムスタンプ(前回のスクレイプがない場合はnull
)changeStatus
: 2つのページバージョンの比較結果new
: このページは以前存在しなかった、または未発見だった(通常はpreviousScrapeAt
がnull
)same
: このページのコンテンツは前回のスクレイプ以降、変更なしchanged
: このページのコンテンツは前回のスクレイプ以降、変更ありremoved
: このページは前回のスクレイプ以降に削除された
visibility
: 現在のページ/URL の可視性visible
: このページは可視であり、URL が自然な経路(他の可視ページ上のリンクまたはサイトマップ経由)で発見されたことを意味するhidden
: このページは不可視で、ウェブ上には引き続き存在するが、サイトマップやサイトのクロールではもはや発見できないことを意味する。不可視のリンクを特定できるのは、過去のクロールまたはスクレイプ時に可視であり、取得されていた場合に限る
SDK
基本的な使い方
'changeTracking'
を含めます:
高度なオプション
formats
配列にオブジェクトを渡すことで、changeTracking を設定できます:
Git-Diff の結果例:
JSON 比較結果の例:
データモデル
変更追跡モード
Git-Diff モード
git-diff
モードは、Git の出力に近い従来型の差分フォーマットを提供します。追加や削除を明示しつつ、行単位の変更を表示します。
出力例:
files
: 変更されたファイルの配列(Web コンテキストでは通常は 1 件)chunks
: ファイル内の変更セクションchanges
: 各行の変更とその種別(add、delete、normal)
JSONモード
json
モードは、コンテンツから抽出した特定フィールドの差分を構造化して比較します。コンテンツ全体ではなく、特定のデータポイントの変更を追跡するのに役立ちます。
出力例:
重要なポイント
-
比較方法: スクレイプ結果は常に markdown レスポンスで比較されます。
changeTracking
フォーマットを使う場合は、必ずmarkdown
フォーマットも指定してください。必要に応じて他のフォーマットを併用できます。- 比較アルゴリズムは空白やコンテンツ順の違いに強く、耐性があります。captcha やランダム化された URL を用いるアンチボット対策への耐性のため、現在は iframe のソース URL を無視しています。
-
以前のスクレイプとの照合: 比較対象となる過去のスクレイプは、現時点ではソース URL、チーム ID、
markdown
フォーマット、tag
パラメータで照合されます。- 有効な比較のため、同一コンテンツに対する以前のリクエストと入力 URL を完全に一致させてください。
- 同一の URL を異なる
includePaths
/excludePaths
でクロールすると、changeTracking
使用時に不整合が生じます。 - 同一の URL を異なる
includeTags
/excludeTags
/onlyMainContent
でスクレイプすると、changeTracking
使用時に不整合が生じます。 - 比較対象のページは、
changeTracking
なしでmarkdown
のみを持つ過去のスクレイプとも比較されます。 - 比較はチーム単位でスコープされます。あなたの API キーでその URL を初めてスクレイプする場合、他の Firecrawl ユーザーが既にスクレイプしていても、その
changeStatus
は常にnew
になります。
-
ベータステータス: ベータ期間中は、結果ドキュメントの
warning
フィールドを確認し、レスポンスからchangeTracking
オブジェクトが欠落している可能性に備えてください。- これは、比較対象の過去スクレイプを見つけるためのデータベース検索がタイムアウトした場合に発生することがあります。
サンプル
基本的なスクレイピング例
クロール例
製品価格の変更を追跡する
Git-Diff を使ったコンテンツ変更の監視
請求
git-diff
モードの利用には追加費用は発生しません。ただし、構造化データの比較に json
モードを使用する場合、スクレイプは1ページあたり5クレジットかかります。