Scarnox · Blog

Cómo encontrar la sitekey de un captcha en cualquier página (4 formas)

Toda resolución de captcha empieza por la sitekey: el ID público que el sitio registró en el proveedor de captcha. El navegador la ve, así que tú también puedes leerla. Para PopularCaptcha, la sitekey es un UUID como a5f74b19-9e45-40e0-b45d-47ff91b7a6c2. Otros proveedores usan formatos distintos. Las claves de Google reCAPTCHA, por ejemplo, empiezan por 6L. Estas son cuatro formas de encontrarla, de la más fácil a la más fiable.

Scarnox resuelve PopularCaptcha hoy. La búsqueda de la sitekey funciona igual para cualquier captcha, así que estos métodos también te sirven cuando planifiques otro tipo. Otros tipos, como reCAPTCHA y Cloudflare Turnstile, llegarán próximamente.

1. El atributo data-sitekey

Abre las DevTools (F12), ve a Elements, pulsa Ctrl+F y busca data-sitekey. La mayoría de los widgets guardan la clave en un atributo como este:

<div class="h-captcha" data-sitekey="a5f74b19-9e45-40e0-b45d-47ff91b7a6c2"></div>

Si la encuentras aquí, ya está. Copia el valor y pasa a la resolución.

2. La pestaña de red

Si el widget lo renderiza JavaScript, el atributo puede no aparecer nunca en el HTML. Abre Network, recarga la página y filtra por la petición de configuración del widget. En PopularCaptcha esa petición suele llamarse checksiteconfig. La sitekey es uno de sus parámetros de consulta:

.../checksiteconfig?v=...&host=example.com&sitekey=a5f74b19-...

Filtrar por la palabra sitekey en la URL de la petición también funciona si el nombre cambia en el sitio que estás probando.

3. La URL del iframe

El desafío en sí es un iframe que sirve el proveedor de captcha. Su src lleva la sitekey como parámetro. Haz clic derecho sobre el widget, elige Inspeccionar y lee el valor de la dirección del iframe. Es el método más fiable cuando la página oculta el atributo en el documento principal.

4. Widgets invisibles

Un widget invisible no tiene casilla. El sitio llama a la función render() o execute() del widget desde su propio código, y la sitekey se pasa como argumento. Búscala en el JavaScript de la página: abre el panel Sources y pulsa Ctrl+Shift+F, luego busca sitekey. Las sitekeys invisibles necesitan la marca de invisible al resolverlas. Consulta resolver captchas invisibles.

Leer la sitekey desde un script

Si el atributo está en el HTML sin procesar, un script puede leerlo sin navegador:

import re
import requests

html = requests.get("https://example.com/signup", timeout=30).text
m = re.search(r'data-sitekey="([^"]+)"', html)
print(m.group(1) if m else "no data-sitekey in the raw HTML")

Si esto no imprime nada, el widget lo renderiza JavaScript. Usa un navegador real, como en el método de la pestaña de red de arriba. Descarga solo páginas que tengas permiso para automatizar, y mantén bajo tu ritmo de peticiones.

¿Qué URL acompaña a la sitekey?

Envía como site_url la URL de la página donde está el widget. Lo que más importa es el host, así que https://example.com/signup es el valor que usarías para un widget de registro. Una petición completa para PopularCaptcha tiene este aspecto:

{
  "captcha_type": "PopularCaptchaTaskProxyless",
  "site_key": "a5f74b19-9e45-40e0-b45d-47ff91b7a6c2",
  "site_url": "https://example.com/signup"
}

Envíala a https://api.scarnox.com/api/tasks/create con tu clave en la cabecera Authorization: Bearer. La llamada se bloquea hasta que el token está listo, así que no hay una segunda petición para comprobar el resultado.

Problemas habituales

Comprobar que tienes la sitekey correcta

Una página puede contener más de una sitekey. Los widgets de analítica, los formularios de comentarios y los boletines a veces añaden las suyas. Antes de resolver, confirma que la sitekey pertenece al formulario que estás automatizando. Tres comprobaciones rápidas ayudan:

Las claves también pueden cambiar cuando un sitio se vuelve a desplegar. Si una clave que funcionaba ayer deja de producir tokens aceptados, vuelve a leer la página antes de cambiar nada más. Una lectura nueva no cuesta nada y descarta la causa más habitual de un fallo repentino.

Las páginas que cargan el widget solo tras un clic necesitan un paso más. Abre la página, haz el clic que muestra el widget y solo entonces lee la sitekey. Leer la página antes del clic no devuelve nada, lo que parece un widget ausente pero en realidad es un problema de tiempos. Espera a que aparezca un elemento que coincida con [data-sitekey] en lugar de esperar un tiempo fijo.

Próximos pasos

Empieza con crédito de prueba gratis, sin tarjeta: crea una cuenta y prueba tu primera sitekey.