Skip to main content

Raspado por lotes de múltiples URL

Ahora puedes raspar por lotes varias URL al mismo tiempo. Recibe las URL iniciales y parámetros opcionales como argumentos. El argumento params te permite especificar opciones adicionales para el trabajo de raspado por lotes, como los formatos de salida.

Cómo funciona

Es muy similar al funcionamiento del punto de conexión /crawl. Puedes iniciar el lote y esperar a que termine, o iniciarlo y gestionar tú mismo su finalización.
  • batchScrape (JS) / batch_scrape (Python): inicia un trabajo por lotes, espera a que finalice y devuelve los resultados.
  • startBatchScrape (JS) / start_batch_scrape (Python): inicia un trabajo por lotes y devuelve el ID del trabajo para que puedas hacer polling o usar webhooks.

Concurrencia

De forma predeterminada, un trabajo de extracción por lotes usa todo el límite de navegadores concurrentes de tu equipo (consulta Rate Limits). Puedes reducir este valor por trabajo con el parámetro maxConcurrency; por ejemplo, maxConcurrency: 50 limita ese trabajo a 50 extracciones simultáneas. Establecer este valor demasiado bajo en lotes grandes ralentizará significativamente el procesamiento, así que solo redúcelo si necesitas dejar capacidad para otros trabajos concurrentes.

Uso

Respuesta

Invocar batchScrape/batch_scrape devuelve los resultados completos cuando el lote finaliza.
Completado
Invocar startBatchScrape/start_batch_scrape devuelve un ID de tarea que puedes monitorear mediante getBatchScrapeStatus/get_batch_scrape_status, usando el endpoint de la API /batch/scrape/{id} o webhooks. Los resultados de la tarea están disponibles a través de la API durante 24 horas después de su finalización. Después de este período, aún puedes ver el historial y los resultados de tus ejecuciones de batch scrape en los activity logs.

Raspado por lotes con extracción estructurada

También puedes usar el punto de conexión de raspado por lotes para extraer datos estructurados de las páginas. Esto es útil si quieres obtener los mismos datos estructurados de una lista de URL.

Respuesta

batchScrape/batch_scrape devuelve resultados completos:
Completado
startBatchScrape/start_batch_scrape devuelve un ID de tarea:

Raspado por lotes con webhooks

Puedes configurar webhooks para recibir notificaciones en tiempo real a medida que se rastrea cada URL de tu lote. Esto te permite procesar los resultados de inmediato en lugar de esperar a que finalice todo el lote.
cURL

Referencia rápida

Tipos de eventos:
  • batch_scrape.started - Cuando comienza el scraping por lotes
  • batch_scrape.page - Para cada URL extraída correctamente
  • batch_scrape.completed - Cuando se procesan todas las URL
  • batch_scrape.failed - Si el scraping por lotes presenta un error
Carga útil básica:

Seguridad: Verificación de firmas de webhooks

Cada solicitud de webhook de Firecrawl incluye un encabezado X-Firecrawl-Signature que contiene una firma HMAC-SHA256. Verifica siempre esta firma para asegurarte de que el webhook sea auténtico y no haya sido manipulado. Cómo funciona:
  1. Obtén tu secreto de webhook en la pestaña Advanced de la configuración de tu cuenta
  2. Extrae la firma del encabezado X-Firecrawl-Signature
  3. Calcula el HMAC-SHA256 del cuerpo sin procesar de la solicitud usando tu secreto
  4. Compáralo con el encabezado de firma utilizando una función segura frente a ataques de temporización
Nunca proceses un webhook sin verificar primero su firma. El encabezado X-Firecrawl-Signature contiene la firma en el formato: sha256=abc123def456...
Para ejemplos completos de implementación en JavaScript y Python, consulta la documentación de seguridad de webhooks.

Documentación completa

Para documentación completa sobre webhooks, incluidos payloads de eventos detallados, configuración avanzada y diagnóstico y resolución de problemas, consulta la documentación de webhooks.