Scarnox · Blog

Cómo saltar un captcha para automatización y pruebas legítimas

Saltar un captcha de forma legítima significa que tu trabajo automatizado supere un desafío sin incumplir las reglas del sitio ni atacar a sus usuarios. En la práctica, eso cubre cuatro casos: automatizar un flujo de trabajo que es tuyo, probar tu propio sitio, crear herramientas accesibles y recopilar datos públicos a un ritmo responsable. La vía honesta y más rápida suele ser evitar que el captcha se dispare. Cuando no puedes evitarlo, una API de resolución como Scarnox puede devolver el token que la página espera.

Esta guía expone los enfoques en el orden en que conviene probarlos, y marca los límites que no debes cruzar.

Empieza por preguntarte por qué apareció el captcha

Los captchas son una señal. El sitio decidió que una petición parecía automatizada o arriesgada. Antes de intentar superar el desafío, revisa qué lo causó:

Corregir la causa a menudo elimina el captcha por completo, lo cual es mejor que resolverlo en cada petición.

Prueba primero los enfoques que evitan el desafío

  1. Usa una API oficial si existe. Muchos sitios publican datos mediante una API con sus propias claves y límites. Esa vía es más rápida, más estable y claramente permitida.
  2. Ve más despacio y reparte las peticiones. Añade pausas entre peticiones, limita la concurrencia y retrocede cuando recibas una advertencia. Un ritmo constante de unas pocas peticiones por minuto se ve muy distinto para un sitio que una ráfaga de cientos.
  3. Mantén las sesiones. Reutiliza cookies y un perfil de navegador coherente durante una sesión, en lugar de empezar de cero en cada página. La guía sobre huella digital del navegador explica por qué esto importa.
  4. Revisa robots.txt y los términos de servicio antes de empezar, no después de que te bloqueen. Respeta lo que pide el sitio.

Usa claves de prueba y entornos de prueba

Si el captcha bloquea tu entorno de staging, no apuntes tus pruebas a producción para saltarlo. La mayoría de los proveedores de captcha, incluidos Google y Cloudflare, publican claves de prueba para desarrollo. Estas claves generan un token válido sin un desafío real, y son la herramienta correcta para las pruebas automatizadas. También puedes pedir a tu equipo que desactive el captcha en el servidor de staging. La guía de captchas en pruebas automatizadas explica esta configuración paso a paso.

Resuelve el captcha mediante una API cuando aparece en un trabajo legítimo

Algunos captchas seguirán apareciendo en un trabajo legítimo, incluso con un buen ritmo. Un trabajo de monitorización que revisa el portal de tu proveedor es un ejemplo. En ese caso, una API de resolución es la herramienta adecuada.

Scarnox es una API para resolver captchas. Hoy el único tipo de tarea en vivo es PopularCaptcha, sin proxy. Tu código envía la sitekey y la URL de la página, y recibe un token para enviarlo con el formulario:

import requests

r = requests.post(
    "https://api.scarnox.com/api/tasks/create",
    headers={"Authorization": "Bearer scarnox_YOURAPIKEY"},
    json={
        "captcha_type": "PopularCaptchaTaskProxyless",
        "site_key": "10000000-ffff-ffff-ffff-000000000001",
        "site_url": "https://example.com/login",
    },
    timeout=185,
)
data = r.json()
token = data["solution"]["token"] if data.get("errorId") == 0 else None

El token caduca en unos dos minutos, así que envíalo de inmediato. La guía para resolver captchas con Python tiene el ejemplo completo. Otros tipos de captcha, incluidos reCAPTCHA, Cloudflare Turnstile y Arkose, están próximamente. Hasta que se publiquen, no des por hecho que un solver los gestiona.

La accesibilidad también es un motivo legítimo

Los captchas son una barrera para las personas que usan lectores de pantalla, cambian de dispositivo o tienen discapacidades cognitivas o visuales. Si desarrollas herramientas de accesibilidad, o actúas en nombre de usuarios que no pueden completar un desafío, el primer paso correcto es pedir al titular del sitio una alternativa accesible. Muchos sitios la ofrecen. Automatizar un captcha no sustituye esa conversación.

Lo que no es legítimo

Algunos usos de la resolución de captchas quedan fuera de los límites, sea cual sea el motivo alegado. No uses solvers ni ningún tipo de evasión para:

Estos usos dañan a personas reales, incumplen los términos de los sitios y te exponen a un riesgo legal serio. Scarnox no los admite, y esta guía no los cubre.

Scrapea de forma responsable

Si tu evasión existe para recopilar datos públicos, ten en cuenta estos puntos:

Resumen

Evita primero el captcha corrigiendo la causa. Usa claves de prueba para las pruebas. Usa una API de resolución para trabajos legítimos que aun así encuentren un desafío, dentro de los tipos de tarea en vivo. Mantente al margen de los usos enumerados arriba, y scrapea a un ritmo que el sitio pueda soportar.

Próximos pasos