Sortear una protección anti-bot: la guía completa
Fingerprinting, retos JavaScript, CAPTCHA, límite de peticiones: así detecta un sitio a los robots, cómo reconocer un bloqueo y qué técnicas reducen los falsos positivos sin salir de la legalidad.
¿Qué es una protección anti-bot?
Una protección anti-bot es un conjunto de mecanismos que distinguen a los visitantes humanos de los robots automatizados, para bloquear el spam, el fraude y la sobrecarga de los servidores.
La ofrece el propio sitio o un servicio externo por delante (Cloudflare, Akamai, DataDome…) que filtra el tráfico antes de que llegue a la aplicación.
Cómo detecta un sitio a un robot
La detección combina varias señales, de la más simple a la más sutil. Ninguna decide por sí sola, pero su acumulación provoca el bloqueo.
- Huella del navegador (fingerprinting): Canvas, WebGL, fuentes, resolución, zona horaria
- Huella de red: firma TLS (JA3), orden y coherencia de las cabeceras HTTP
- Retos JavaScript: cookie de sesión o token exigido antes de la respuesta
- CAPTCHA y retos interactivos: reCAPTCHA, hCaptcha, Turnstile
- Límite de peticiones y honeypots: tope de peticiones, enlaces invisibles trampa
Reconocer un bloqueo
Un scraping vacío o fallido rara vez es un error de tu código: suele ser una detección. Estas son las señales típicas.
- Códigos 403 (prohibido) o 429 (demasiadas peticiones)
- Página de reto («Verificando…») en lugar del contenido esperado
- HTML truncado o sin los datos visibles en el navegador
- Redirecciones en bucle o retardos crecientes
Técnicas de evasión eficaces
El objetivo no es «romper» la protección, sino parecer un visitante legítimo para evitar los falsos positivos. La regularidad del comportamiento importa más que el truco aislado.
- Navegador headless con huella realista (Playwright + motor «stealth»)
- Cabeceras y user-agent coherentes, con Accept-Language acorde a la localización
- Ritmo humano: retardos aleatorios y concurrencia limitada
- Reutilizar cookies y sesiones para conservar el token del reto
- Ejecutar el JavaScript y esperar el selector correcto (no solo el evento load)
- Proxies residenciales o móviles si hay bloqueo geográfico o IP vetada
¿HTTP simple o navegador headless?
Una petición HTTP clásica es rápida y económica, pero no resuelve el JavaScript ni los retos. Resérvala para páginas cuyo contenido ya está en la respuesta.
En cuanto el contenido depende de JavaScript o se exige un reto, se necesita un navegador headless, a costa de un tiempo de render mayor.
Mantente dentro de la ley
Sortear una protección técnica no autoriza todo: las condiciones de uso del sitio, el robots.txt y el RGPD siguen aplicándose.
Recopila solo datos públicos y necesarios, limita el ritmo para no degradar el servicio e identifica tu robot (user-agent explícito) cuando sea posible.
Delegar en un servicio de scraping
Mantener un navegador sigiloso, un grupo de proxies y una estrategia de reintentos actualizada es un trabajo continuo, porque las defensas evolucionan cada semana.
ScraperFlow integra estos mecanismos y genera directamente los artefactos útiles (Markdown, JSON, snapshot): tú indicas una URL y el servicio gestiona el anti-bot.
Preguntas frecuentes
¿Por qué mi scraping devuelve un error 403 o 429?
Un 403 indica un bloqueo (huella o cabeceras sospechosas); un 429, un límite de peticiones superado. Baja el ritmo, usa un navegador con huella realista y revisa tus cabeceras.
¿Es legal sortear una protección anti-bot?
Depende del contexto. Sortear una medida técnica puede infringir las condiciones de uso, y algunas protecciones están protegidas jurídicamente. Cíñete a datos públicos y revisa tus obligaciones (robots.txt, RGPD) antes de recopilar.
¿Bastan Playwright o Puppeteer para evitar la detección?
No tal cual. Un navegador headless por defecto expone señales detectables. Hay que ajustar la huella, las cabeceras y el ritmo; de ahí el interés de un motor «stealth» o de un servicio especializado.
¿Hacen falta proxies para extraer un sitio protegido?
No siempre. Los proxies son útiles cuando tu IP está bloqueada, compartida o restringida geográficamente. Un grupo de proxies residenciales o móviles mejora la fiabilidad, pero encarece la operación.