Passer au contenu principal
La surveillance de site web porte sur un site entier plutôt que sur une liste fixe d’URL. À chaque vérification, un crawl est exécuté pour l’url cible, scrape chaque page découverte, puis compare le résultat au dernier instantané conservé. Cela permet de détecter les pages ajoutées, modifiées ou supprimées, et pas seulement les modifications apportées aux pages que vous avez déjà spécifiées. C’est le bon choix pour les sites de documentation, les blogs, les journaux des modifications, les centres d’aide et les sites de concurrents. Cette page couvre la cible crawl. La planification, les objectifs et l’évaluation, le suivi des modifications, les notifications et la tarification sont communs à tous les types de surveillance. Consultez la vue d’ensemble de la surveillance.

Créer un monitor pour un site web

Créez un monitor avec une cible crawl afin de générer un diff pour chaque page découverte lors d’un crawl à chaque vérification :
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)

Cible de crawl

Une cible crawl nécessite type et une seule url. Utilisez crawlOptions pour définir le comportement du crawl et scrapeOptions pour définir la façon dont chaque page découverte est scrapée :
Crawl target
{
  "type": "crawl",
  "url": "https://example.com/docs",
  "crawlOptions": {
    "limit": 100,
    "includePaths": ["/docs"]
  },
  "scrapeOptions": {
    "formats": ["markdown"]
  }
}
Champs courants de crawlOptions :
  • limit : Nombre maximal de pages qu’une vérification peut crawler.
  • maxDiscoveryDepth : Nombre de niveaux de liens à parcourir depuis l’url de départ pour découvrir des pages.
  • maxDepth : Profondeur maximale du crawl.
  • includePaths : Surveille uniquement les URL correspondant à ces modèles de chemin (par exemple, /docs).
  • excludePaths : Ignore les URL correspondant à ces modèles de chemin.
Comme pour les monitors de page, les scrapes déclenchés par un monitor définissent maxAge sur 0 par défaut. Ainsi, chaque vérification re-scrape les pages découvertes à neuf, sauf si vous définissez une autre valeur de maxAge dans scrapeOptions.

Ce que chaque vérification rapporte

Une vérification de crawl compare chaque page découverte à la vérification précédente et enregistre un état pour chaque page :
  • same : La page a de nouveau été découverte et n’a pas changé.
  • changed : La page a de nouveau été découverte et a changé.
  • new : La page a été découverte pour la première fois.
  • removed : Une page présente lors de la vérification précédente n’a plus été découverte.
  • error : La page n’a pas pu être vérifiée.
Pour déclencher une alerte sur des champs structurés spécifiques dans les pages explorées, ajoutez un format changeTracking à scrapeOptions. Voir Suivi des modifications.

Configuration partagée