メインコンテンツへスキップ
Web サイトモニターは、固定された URL のリストではなく、サイト全体を対象にします。各チェックでは対象の url に対してクロールを実行し、見つかったすべてのページをスクレイピングしたうえで、その結果を直近で保持されたスナップショットと照合します。これにより、あらかじめ指定したページへの編集だけでなく、追加・変更・削除されたページも検知できます。ドキュメントサイト、ブログ、更新履歴、ヘルプセンター、競合他社のサイトには最適な選択肢です。 このページでは crawl ターゲットを扱います。スケジューリング、ゴールと判定、変更追跡、通知、料金は、すべてのモニタータイプで共通です。モニターの概要 を参照してください。

Web サイトモニターを作成する

各チェック時にクロールで検出されたすべてのページの差分を取得するには、crawl ターゲットを持つモニターを作成します。
from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")

monitor = firecrawl.create_monitor(
    name="Docs monitor",
    schedule={"cron": "7-59/15 * * * *", "timezone": "UTC"},
    goal="Notify me when docs pages add, remove, or materially change API behavior",
    targets=[
        {
            "type": "crawl",
            "url": "https://example.com/docs",
            "crawlOptions": {
                "limit": 100,
                "maxDiscoveryDepth": 3,
            },
        }
    ],
    webhook={
        "url": "https://example.com/webhooks/firecrawl",
        "events": ["monitor.page", "monitor.check.completed"],
    },
)

print(monitor.id)

クロールターゲット

crawl ターゲットでは、type と 1 つの url が必要です。クロールの挙動は crawlOptions、検出された各ページをどのようにスクレイピングするかは scrapeOptions で指定します。
Crawl target
{
  "type": "crawl",
  "url": "https://example.com/docs",
  "crawlOptions": {
    "limit": 100,
    "includePaths": ["/docs"]
  },
  "scrapeOptions": {
    "formats": ["markdown"]
  }
}
一般的な crawlOptions フィールド:
  • limit: 1 回のチェックでクロールするページの最大数。
  • maxDiscoveryDepth: 開始 url から何リンク先までページを検出するか。
  • maxDepth: クロールの最大深度。
  • includePaths: これらのパスパターンに一致する URL のみをモニターします (例: /docs) 。
  • excludePaths: これらのパスパターンに一致する URL はスキップします。
ページ モニターと同様に、モニターによってトリガーされるスクレイピングでは maxAge のデフォルト値が 0 になるため、scrapeOptions で別の maxAge を設定しない限り、各チェックで検出されたページは毎回新たにスクレイピングされます。

各チェックで報告される内容

クロールチェックでは、検出されたすべてのページを前回のチェック結果と照合し、ページごとのステータスを記録します。
  • same: ページが再度検出され、変更はありませんでした。
  • changed: ページが再度検出され、変更がありました。
  • new: ページが初めて検出されました。
  • removed: 前回のチェックで検出されたページが、今回は検出されませんでした。
  • error: ページをチェックできませんでした。
クロールされたページ全体の特定の構造化フィールドに対してアラートを出すには、scrapeOptionschangeTracking フォーマットを追加してください。変更追跡 を参照してください。

共通の構成

  • スケジュール: cron または自然言語で設定する実行間隔。最短 5 分です。
  • ゴールと判定: 意味のある変更があった場合にのみ通知します。
  • 通知: webhook とメールで配信します。
  • チェック結果: 各チェックとページごとの差分を確認できます。
  • 料金: チェックごとに、検出された各ページにつき 1 クレジットを消費し、これに加えて任意の判定分が発生します。