Scraping básico con Firecrawl
/scrape
.
Extracción de PDF
parsers
(por ejemplo, parsers: ["pdf"]
) cuando quieras asegurar el análisis de PDF.
Opciones de extracción
/scrape
, puedes personalizar la extracción con las siguientes opciones.
Formatos (formats
)
- Tipo:
array
- Valores de cadena:
["markdown", "links", "html", "rawHtml", "summary"]
- Formatos de objeto:
- JSON:
{ type: "json", prompt, schema }
- Captura de pantalla:
{ type: "screenshot", fullPage?, quality?, viewport? }
- Seguimiento de cambios:
{ type: "changeTracking", modes?, prompt?, schema?, tag? }
(requieremarkdown
)
- JSON:
- Predeterminado:
["markdown"]
Contenido completo de la página vs contenido principal (onlyMainContent
)
- Tipo:
boolean
- Descripción: De forma predeterminada, el scraper devuelve solo el contenido principal. Configúralo en
false
para devolver el contenido completo de la página. - Predeterminado:
true
- Tipo:
array
- Descripción: Etiquetas, clases o IDs de HTML que se incluirán en el scraping.
- Tipo:
array
- Descripción: Etiquetas/clases/ids HTML que se excluirán del scraping.
Esperar a que la página esté lista (waitFor
)
- Tipo:
integer
- Descripción: Milisegundos que esperar antes de hacer scraping (úsalo con moderación).
- Predeterminado:
0
Actualidad y caché (maxAge
)
- Tipo:
integer
(milisegundos) - Descripción: Si existe una versión en caché de la página más reciente que
maxAge
, Firecrawl la devuelve al instante; de lo contrario, vuelve a extraerla y actualiza la caché. Establece0
para forzar siempre una obtención en vivo. - Predeterminado:
172800000
(2 días)
Tiempo de espera de la solicitud (timeout
)
- Tipo:
integer
- Descripción: Duración máxima, en milisegundos, antes de cancelar.
- Valor predeterminado:
30000
(30 segundos)
Análisis de PDF (parsers
)
- Tipo:
array
- Descripción: Controla el comportamiento del análisis. Para analizar PDFs, establece
parsers: ["pdf"]
.
Acciones (actions
)
- Tipo:
array
- Descripción: Secuencia de pasos del navegador que se ejecutan antes de la extracción.
- Acciones compatibles:
wait
{ milliseconds }
click
{ selector }
write
{ selector, text }
press
{ key }
scroll
{ direction: "up" | "down" }
scrape
{ selector }
(extrae un subelemento)executeJavascript
{ script }
pdf
(inicia el renderizado de PDF en algunos flujos)
Ejemplo de uso
cURL
- Devuelve el contenido completo de la página en markdown.
- Incluye el markdown, el HTML sin procesar, el HTML, los enlaces y una captura de pantalla en la respuesta.
- Incluye solo las etiquetas HTML
<h1>
,<p>
,<a>
y los elementos con la clase.main-content
, excluyendo cualquier elemento con los IDs#ad
y#footer
. - Espera 1000 milisegundos (1 segundo) antes de realizar el scraping para permitir que la página cargue.
- Establece la duración máxima de la solicitud de scraping en 15000 milisegundos (15 segundos).
- Analiza PDF explícitamente mediante
parsers: ["pdf"]
.
Extracción de JSON mediante formatos
formats
para extraer datos estructurados en una sola pasada:
Endpoint /extract
Rastreo de múltiples páginas
/v2/crawl
.
cURL
Consultar trabajo de rastreo
cURL
Paginación/URL siguiente
next
, que es una URL a la siguiente página de resultados.
Vista previa del prompt y parámetros de rastreo
prompt
en lenguaje natural para que Firecrawl derive la configuración de rastreo. Primero, prévisualízala:
cURL
Opciones del rastreador
/v2/crawl
, puedes personalizar el comportamiento del rastreo con:
includePaths
- Tipo:
array
- Descripción: Patrones de expresiones regulares a incluir.
- Ejemplo:
["^/blog/.*$", "^/docs/.*$"]
excludePaths
- Tipo:
array
- Descripción: Patrones de expresiones regulares para excluir.
- Ejemplo:
["^/admin/.*$", "^/private/.*$"]
maxDiscoveryDepth
- Tipo:
integer
- Descripción: Profundidad máxima de descubrimiento para encontrar nuevas URLs.
limit
- Tipo:
integer
- Descripción: Número máximo de páginas a rastrear.
- Valor predeterminado:
10000
crawlEntireDomain
- Type:
boolean
- Description: Explorar a través de páginas hermanas y superiores para cubrir todo el dominio.
- Default:
false
allowExternalLinks
- Tipo:
boolean
- Descripción: Seguir enlaces a dominios externos.
- Valor predeterminado:
false
allowSubdomains
- Tipo:
boolean
- Descripción: Seguir los subdominios del dominio principal.
- Valor predeterminado:
false
delay
- Tipo:
number
- Descripción: Retraso en segundos entre scrapes.
- Predeterminado:
undefined
scrapeOptions
- Tipo:
object
- Descripción: Opciones para el scraper (consulta los formatos arriba).
- Ejemplo:
{ "formats": ["markdown", "links", {"type": "screenshot", "fullPage": true}], "includeTags": ["h1", "p", "a", ".main-content"], "excludeTags": ["#ad", "#footer"], "onlyMainContent": false, "waitFor": 1000, "timeout": 15000}
- Valores predeterminados:
formats: ["markdown"]
, caché habilitada de forma predeterminada (maxAge ~ 2 días)
Ejemplo de uso
cURL
Mapeo de enlaces de un sitio web
/v2/map
identifica las URL relacionadas con un sitio web determinado.
Uso
cURL
Opciones de mapeo
search
- Tipo:
string
- Descripción: Filtra enlaces que contengan el texto.
limit
- Tipo:
integer
- Descripción: Número máximo de enlaces a retornar.
- Valor por defecto:
100
sitemap
- Tipo:
"only" | "include" | "skip"
- Descripción: Controla el uso del sitemap durante el mapeo.
- Predeterminado:
"include"
includeSubdomains
- Tipo:
boolean
- Descripción: Incluye los subdominios del sitio web.
- Valor predeterminado:
true