Scraping basique avec Firecrawl
/scrape.
Extraction de PDF
parsers (par exemple parsers: ["pdf"]) lorsque vous voulez garantir l’analyse des PDF.
Options d’extraction
Formats (formats)
- Type:
array - Chaînes:
["markdown", "links", "html", "rawHtml", "summary", "images"] - Formats d’objet:
- JSON :
{ type: "json", prompt, schema } - Capture d’écran :
{ type: "screenshot", fullPage?, quality?, viewport? } - Suivi des modifications :
{ type: "changeTracking", modes?, prompt?, schema?, tag? }(nécessitemarkdown)
- JSON :
- Par défaut:
["markdown"]
Contenu complet de la page vs contenu principal (onlyMainContent)
- Type:
boolean - Description: Par défaut, le scraper renvoie uniquement le contenu principal. Définissez sur
falsepour renvoyer l’intégralité du contenu de la page. - Par défaut:
true
- Type:
array - Description: Balises/classes/ID HTML à inclure dans le scraping.
- Type:
array - Description: Balises/classes/IDs HTML à exclure de l’extraction.
Attente de préparation de la page (waitFor)
- Type :
integer - Description : Nombre de millisecondes d’attente supplémentaire avant le scraping (à utiliser avec parcimonie). Ce délai s’ajoute à la fonctionnalité d’attente intelligente de Firecrawl.
- Valeur par défaut :
0
Fraîcheur et cache (maxAge)
- Type:
integer(millisecondes) - Description: Si une version en cache de la page est plus récente que
maxAge, Firecrawl la renvoie immédiatement ; sinon, il procède à une nouvelle extraction et met à jour le cache. Définissez0pour toujours récupérer une version fraîche. - Par défaut:
172800000(2 jours)
Délai d’expiration de la requête (timeout)
- Type:
integer - Description: Durée maximale en millisecondes avant l’interruption.
- Valeur par défaut:
30000(30 secondes)
Analyse des PDF (parsers)
- Type:
array - Description: Contrôle le comportement d’analyse. Pour traiter des PDF, définissez
parsers: ["pdf"]. - Coût : L’analyse de PDF coûte 1 crédit par page PDF. Pour ignorer l’analyse de PDF et recevoir le fichier en base64 (1 crédit forfaitaire), définissez
parsers: []. - Limiter le nombre de pages : Pour limiter l’analyse de PDF à un nombre spécifique de pages, utilisez
parsers: [{"type": "pdf", "maxPages": 10}].
Actions (actions)
- Type :
array - Description : Séquence d’étapes du navigateur à exécuter avant le scraping.
- Actions prises en charge :
wait- Attendre le chargement de la page :{ type: "wait", milliseconds: number }ou{ type: "wait", selector: string }click- Cliquer sur un élément :{ type: "click", selector: string, all?: boolean }write- Saisir du texte dans un champ :{ type: "write", text: string }(l’élément doit d’abord avoir le focus via un clic)press- Appuyer sur une touche du clavier :{ type: "press", key: string }scroll- Faire défiler la page :{ type: "scroll", direction: "up" | "down", selector?: string }screenshot- Prendre une capture d’écran :{ type: "screenshot", fullPage?: boolean, quality?: number, viewport?: { width: number, height: number } }scrape- Extraire un sous-élément :{ type: "scrape" }executeJavascript- Exécuter du code JS :{ type: "executeJavascript", script: string }pdf- Générer un PDF :{ type: "pdf", format?: string, landscape?: boolean, scale?: number }
Notes sur l’exécution des actions
- Action
write: vous devez d’abord mettre l’élément au focus en utilisant une actionclickavant d’utiliserwrite. Le texte est saisi caractère par caractère pour simuler une saisie au clavier. - Sélecteur pour
scroll: si vous voulez faire défiler un élément spécifique plutôt que la page entière, fournissez le paramètreselectoràscroll. - Attente avec sélecteur : vous pouvez attendre qu’un élément spécifique soit visible en utilisant
waitavec un paramètreselector, ou attendre une durée fixe en utilisantmilliseconds. - Les actions sont séquentielles : les actions sont exécutées dans l’ordre et Firecrawl attend que les interactions avec la page soient terminées avant de passer à l’action suivante.
- Les actions ne sont pas prises en charge pour les PDF : les actions nécessitent un moteur de navigateur et ne peuvent pas être utilisées sur des URL qui renvoient du contenu PDF (y compris les URL qui redirigent vers des PDF). Si vous incluez des
actionsdans votre requête et que l’URL aboutit à un PDF, la requête échouera. Retirez lesactionsde votre requête lorsque vous scrapez des PDF.
Exemples d’actions avancées
cURL
cURL
cURL
Exemple d’utilisation
cURL
- Renvoyer le contenu complet de la page en Markdown.
- Inclure le Markdown, le HTML brut, le HTML, les liens et une capture d’écran dans la réponse.
- Inclure uniquement les balises HTML
<h1>,<p>,<a>et les éléments avec la classe.main-content, tout en excluant les éléments avec les ID#adet#footer. - Attendre 1000 millisecondes (1 seconde) avant d’extraire afin de laisser la page se charger.
- Définir la durée maximale de la requête d’extraction à 15000 millisecondes (15 secondes).
- Analyser explicitement les PDF via
parsers: ["pdf"].
Extraction JSON via formats
formats pour extraire des données structurées en une seule fois :
Endpoint d’extraction
Explorer plusieurs pages
/v2/crawl.
cURL
Vérifier l’état d’une tâche de crawl
cURL
Pagination/URL suivante
next, une URL vers la page suivante de résultats.
Aperçu du prompt et des paramètres de crawl
prompt en langage naturel pour permettre à Firecrawl de déterminer les paramètres de crawl. Prévisualisez-les d’abord :
cURL
Options du crawler
/v2/crawl, vous pouvez personnaliser le comportement du crawl à l’aide des options suivantes :
includePaths
- Type:
array - Description: Motifs regex à inclure. Par défaut, ceux-ci correspondent uniquement au pathname de l’URL (et non aux paramètres de requête). Pour faire correspondre l’URL complète, y compris les chaînes de requête, utilisez
regexOnFullURL: true. - Example:
["^/blog/.*$", "^/docs/.*$"]
excludePaths
- Type:
array - Description: Expressions régulières à exclure. Par défaut, ces motifs sont appliqués uniquement au pathname de l’URL (et non aux paramètres de requête). Pour faire correspondre l’URL complète, y compris la chaîne de requête, utilisez
regexOnFullURL: true. - Example:
["^/admin/.*$", "^/private/.*$"]
regexOnFullURL
- Type:
boolean - Description: Lorsque la valeur est
true, les modèlesincludePathsetexcludePathssont appliqués à l’URL complète (y compris les paramètres de requête) plutôt qu’au seul chemin (pathname). Utile pour filtrer les URL en fonction de leur chaîne de requête. - Default:
false
maxDiscoveryDepth
- Type:
integer - Description: Profondeur maximale d’exploration pour découvrir de nouvelles URL.
limit
- Type:
integer - Description: Nombre maximal de pages à explorer.
- Default:
10000
crawlEntireDomain
- Type:
boolean - Description: Explorer via les pages sœurs/parentes pour couvrir l’ensemble du domaine.
- Default:
false
allowExternalLinks
- Type:
boolean - Description: Suivre les liens vers des domaines externes.
- Default:
false
allowSubdomains
- Type:
boolean - Description: Autoriser le suivi des sous-domaines du domaine principal.
- Default:
false
delay
- Type:
number - Description: Délai en secondes entre les opérations de scraping.
- Default:
undefined
sitemap
- Type:
string - Enum:
"skip","include","only" - Description: Contrôle la manière dont le crawler utilise le sitemap du site web.
"include"(valeur par défaut) utilise le sitemap en complément de la découverte de liens."skip"ignore complètement le sitemap."only"limite le crawling aux URL trouvées dans le sitemap (plus l’URL de départ). - Valeur par défaut:
"include"
deduplicateSimilarURLs
- Type:
boolean - Description: Lorsque la valeur est
true, le crawler traite comme des doublons les variantes d’URL qui pointent vers la même page : par exemple,www.vs non-www.,httpvshttps, les slashes de fin, ainsi que les suffixesindex.html/index.phpsont tous normalisés avant la vérification des doublons. Cela ne supprime pas les paramètres de requête (voirignoreQueryParameterspour cela). - Valeur par défaut:
true
ignoreQueryParameters
- Type:
boolean - Description: Lorsqu’il vaut
true, les chaînes de requête sont supprimées des URL avant la déduplication, ainsi/page?a=1et/page?a=2sont considérées comme la même URL et ne sont explorées qu’une seule fois. - Default:
false
scrapeOptions
- Type:
object - Description: Options du scraper (voir Formats ci-dessus).
- 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"], mise en cache activée par défaut (maxAge ~ 2 jours)
Exemple d’usage
cURL
Cartographie des liens d’un site web
/v2/map identifie les URL associées à un site web donné.
Utilisation
cURL
Options de cartographie
search
- Type:
string - Description: Filtre les liens contenant un texte donné.
limit
- Type:
integer - Description: Nombre maximal de liens à renvoyer.
- Default:
100
sitemap
- Type:
"only" | "include" | "skip" - Description: Contrôle l’utilisation du sitemap lors du mappage.
- Default:
"include"
includeSubdomains
- Type:
boolean - Description: Inclure les sous-domaines du site.
- Default:
true
Autoriser Firecrawl
Autoriser Firecrawl à explorer votre site web
- User Agent : Firecrawl s’identifie avec l’User-Agent
FirecrawlAgent. Autorisez cette valeur d’User-Agent dans votre pare-feu ou vos règles de sécurité. - Adresses IP : Firecrawl n’utilise pas un ensemble fixe d’adresses IP pour les requêtes de scraping sortantes.
Autoriser votre application à appeler l’API Firecrawl
35.245.250.27 à la liste blanche afin d’autoriser les appels à l’API Firecrawl.
