Passer au contenu principal
La surveillance de page surveille des URL que vous connaissez déjà. Chaque vérification scrape chaque URL de la cible, la compare au dernier instantané conservé et indique si la page est same, changed, new, removed ou error. C’est le bon choix pour les pages de tarifs, les journaux des modifications, les pages de documentation, les offres d’emploi, les pages d’état, ou toute URL connue où la moindre modification compte. Cette page couvre la cible scrape. La planification, les objectifs et l’évaluation, le suivi des modifications, les notifications et la tarification sont communs à tous les types de moniteur. Consultez la vue d’ensemble du monitoring.

Créer un moniteur de page

Créez un moniteur avec une cible scrape qui liste une ou plusieurs URL spécifiées explicitement :
from firecrawl import Firecrawl

firecrawl = Firecrawl(
  # Les points de terminaison Monitor nécessitent une clé API :
  api_key="fc-YOUR-API-KEY",
)

monitor = firecrawl.create_monitor(
    name="Hacker News AI monitor",
    schedule={"text": "every 30 minutes", "timezone": "UTC"},
    goal=(
        "Alert when a new Hacker News story related to AI enters the top 10. "
        "Ignore changes to stories that are not about AI. "
        "Do not alert on changes outside the top 10."
    ),
    targets=[
        {
            "type": "scrape",
            "urls": ["https://news.ycombinator.com"],
        }
    ],
    notification={
        "email": {
            "enabled": True,
            "recipients": ["alerts@example.com"],
            "includeDiffs": True,
        }
    },
)

print(monitor.id)
Vous pouvez également créer des moniteurs avec la CLI Firecrawl :
CLI
firecrawl monitor create --name "Hacker News AI" \
  --schedule "every 30 minutes" \
  --goal "Alert when a new Hacker News story related to AI enters the top 10. Ignore changes to stories that are not about AI. Do not alert on changes outside the top 10." \
  --page https://news.ycombinator.com

Cible scrape

Une cible scrape nécessite un type et un tableau urls contenant au moins une URL. Les options de scrape sont transmises aux tâches de scraping sous-jacentes. Pour les scrapes déclenchés par le moniteur, maxAge est défini par défaut sur 0 ; ainsi, chaque vérification lance un nouveau scrape, sauf si vous définissez explicitement une autre valeur pour maxAge.
Scrape target
{
  "type": "scrape",
  "urls": ["https://example.com/pricing"],
  "scrapeOptions": {
    "formats": ["markdown"],
    "maxAge": 0
  }
}

Détection des modifications champ par champ

Par défaut, un moniteur de page compare le markdown de la page. Pour déclencher une alerte uniquement lorsqu’un champ spécifique change, comme un prix, un titre, un indicateur de disponibilité ou les éléments d’une liste, ajoutez un format changeTracking aux scrapeOptions de la cible. Consultez Suivi des modifications pour le mode JSON et le mode mixte.

Configuration partagée