- Cloudflare ofrece en beta abierta el nuevo endpoint /crawl de Browser Rendering, que permite rastrear un sitio web completo con una sola llamada a la API
- Al enviar una URL inicial, navega automáticamente por las páginas y las renderiza con un navegador sin interfaz, devolviendo los resultados en formatos HTML, Markdown y JSON
- Ofrece varias funciones como salida JSON estructurada basada en Workers AI, controles de alcance como profundidad de rastreo, límite de páginas y patrones con comodines, además de rastreo incremental y modo estático
- Cumple las reglas de robots.txt y también admite crawl-delay para evitar tráfico anómalo
- Puede usarse para entrenamiento de modelos, creación de pipelines RAG e investigación y monitoreo de contenido en todo un sitio
Resumen del endpoint /crawl
- El nuevo endpoint /crawl agregado al servicio Browser Rendering de Cloudflare ofrece la capacidad de explorar un sitio web completo y recopilar contenido con una sola llamada a la API
- El usuario envía una URL inicial, y el sistema sigue automáticamente los enlaces, renderiza las páginas y devuelve los resultados
- El formato de salida puede elegirse entre HTML, Markdown o JSON estructurado
- Esta función está disponible en estado de beta abierta (open beta) y puede usarse tanto en los planes Workers Free como Paid
- Las tareas de rastreo se realizan de forma asíncrona (asynchronous)
- Al enviar una URL, se recibe un job ID, y luego se pueden consultar los resultados cuando termine el procesamiento
- Las páginas se procesan secuencialmente, y los resultados completados pueden revisarse de forma progresiva
Funciones principales
- Compatibilidad con múltiples formatos de salida
- Devuelve resultados en varios formatos como HTML, Markdown y JSON
- El formato JSON se ofrece como datos estructurados mediante Workers AI
- Controles del alcance de rastreo (crawl scope controls)
- Permite configurar la profundidad de rastreo (depth), el límite de páginas y la inclusión/exclusión de patrones de URL
- Descubrimiento automático de páginas (automatic page discovery)
- Descubre URL automáticamente a partir del sitemap, de los enlaces de la página o de ambos
- Rastreo incremental (incremental crawling)
- Usa los parámetros
modifiedSince y maxAge para omitir páginas sin cambios y así reducir tiempo y costo
- Modo estático (static mode)
- Con
render: false, obtiene solo el HTML estático sin iniciar el navegador, lo que permite un rastreo rápido de sitios estáticos
- Bot con buen comportamiento (well-behaved bot)
- Respeta las directivas de robots.txt y también reconoce la configuración de crawl-delay
Casos de uso y documentación de referencia
- Este endpoint es útil para la recolección de datos para entrenamiento de modelos, la construcción de pipelines RAG y la investigación y monitoreo del contenido de un sitio
- Los usuarios pueden consultar la documentación del endpoint crawl para configurarlo
- Si van a establecer su propio sitio como objetivo de rastreo, deben revisar las mejores prácticas de robots.txt y sitemap
Planes disponibles
- Disponible tanto en los planes Workers Free como Paid
5 comentarios
Lo probé un poco por encima, pero parece que no puede saltarse los bloqueos anti-bots; por ahora creo que voy a seguir prefiriendo
apifyozyte.. jaja¿Esto también se salta la función de bloqueo de bots de Cloudflare?
¿Están vendiendo tanto la lanza como el escudo??
Se siente medio raro jaja
Ya empezó el juego de Everybody's Marble jajaja
La típica de anular la habilidad especial de no sé qué que invalida la habilidad de defender no sé qué carta....
jajaja, está medio chistoso
Comentarios de Hacker News
Según mi experiencia, esto no funciona en páginas protegidas por Cloudflare
Lamentablemente, es como si ellos mismos crearan el problema y luego vendieran la solución
Me sorprende que Cloudflare no hospede una versión pre-scrapeada de los sitios web que usan su proxy
Por ejemplo, podrían ofrecer algo como https://www.example.com/cdn-cgi/cached-contents.json; al final, el contenido ya está en caché, así que no haría falta pasar por un servicio o API de scraping
Seguro hay razones para no hacerlo, pero aun así sorprende que no exista como opción predeterminada
Se podría poner control de acceso, pero eso acabaría siendo crear una API de CDN compleja que nadie pidió, además de abrir problemas legales
Entre un “JSON conveniente” y “entregarle todo el sitio a scrapers de IA” hay muy poca diferencia
Si conviertes solo cuando hay una solicitud, puedes reducir las peticiones al origen y al mismo tiempo conservar la eficiencia del caché
Cuando trabajaba en un CDN usábamos second hit caching para mejorar la tasa de aciertos: solo se guardaba en caché a partir de la segunda solicitud
Si activas Markdown for Agents, cuando un sistema de IA solicita
text/markdown, convierte el HTML a Markdown en tiempo realQue Cloudflare venda defensas contra scraping y al mismo tiempo venda un servicio de scraping se siente casi como crimen organizado
Solo pueden hacerlo por su influencia sobre gran parte de Internet
El DNS sirve para recolectar datos y para la “buena imagen”
La idea sería que el publisher esté detrás de Cloudflare, y que si una empresa de IA quiere los datos, acceda pagando a través de Cloudflare
El cliente principal no sería el usuario común, sino las empresas de IA
/crawlrespetarobots.txtEs decir, las URL donde no se permite rastreo aparecen en la respuesta con
"status": "disallowed"Exponer un crawl endpoint estructurado se siente como una evolución natural de
robots.txtositemapSi más sitios ofrecieran este tipo de punto de entrada legible por máquinas, la indexación sería mucho más eficiente
Ahora mismo se desperdicia mucho porque los crawlers vuelven a explorar una y otra vez la misma estructura
Yo prefiero diseñar APIs centradas en humanos, y que los proveedores de LLM optimicen encima de eso
El HTML y el DOM son, por naturaleza, estructuras para que las lean las máquinas
No hace falta inventar algo nuevo; basta con aprovechar bien la tecnología que ya existe
Podría usarse para mostrar una página normal a las personas y otra distinta a los bots
Esto podría haber servido para archivado web, así que da pena que no tenga soporte para formato WARC
Habría sido útil para periodistas e investigadores
El servidor de origen todavía puede detectar y bloquear las solicitudes de Browser Rendering de Cloudflare
Se pueden distinguir por el header
CF-Worker, y filtrarlas en reglas WAF o middlewareEso sí, estas solicitudes vienen del ASN 13335 de Cloudflare y tienen bajo bot score, así que una defensa simple basada solo en score no funciona
Al final, los límites de velocidad a nivel de aplicación y el análisis de comportamiento son más efectivos
La tensión estructural existe, pero es parecida a cuando un motor de búsqueda ofrece herramientas para webmasters
robots.txt, ese es el método más simpleMe preguntaba si este crawler funciona antes o después de la lógica de bloqueo de bots
Pensé que estaría bien poder ofrecer una versión bien rastreada de mi sitio
Si les dieran esa función a los administradores del sitio, los crawlers podrían acceder pagando solo el costo de transferencia
Incluso podría implementarse ejecutando un trabajo de rastreo sobre mi propio sitio y publicándolo en un subdominio
static.Si el sitio es estático, entonces simplemente renderízalo como HTML y hospédalo; si es dinámico, no estoy seguro de qué sentido tendría un snapshot
Quizá agregar caché sea un mejor enfoque
Últimamente da la impresión de que Cloudflare se está quedando con todas las funciones más interesantes
Me pregunto qué estará haciendo AWS
Esta función realmente impresiona
Cloudflare se está moviendo con anticipación hacia donde va el futuro