CAPSOLVER
Blog
Cómo resolver reCAPTCHA v3 en Crawl4AI con integración de CapSolver

Cómo resolver reCAPTCHA v3 en Crawl4AI con integración de CapSolver

Logo of CapSolver

Adélia Cruz

Neural Network Developer

21-Oct-2025

Introducción

reCAPTCHA v3, el CAPTCHA invisible de Google, opera en segundo plano, analizando el comportamiento del usuario para asignar una puntuación que indica la probabilidad de actividad de bots. A diferencia de su predecesor, reCAPTCHA v2, no presenta normalmente desafíos interactivos para los usuarios. Aunque esto mejora la experiencia del usuario, introduce nuevas complejidades para la automatización web y el scraping de datos, ya que los métodos tradicionales de inyección de tokens suelen ser insuficientes o fácilmente sobrescritos.

Este artículo proporciona una guía detallada para integrar Crawl4AI, un poderoso crawler web, con CapSolver, un servicio líder para resolver CAPTCHAS, específicamente para resolver reCAPTCHA v3. Exploraremos técnicas sofisticadas, incluyendo soluciones basadas en API con enfoques de JavaScript fetch y la integración de extensiones de navegador, para garantizar una extracción de datos web fluida y confiable incluso en sitios protegidos por reCAPTCHA v3.

Entendiendo reCAPTCHA v3 y sus desafíos únicos

reCAPTCHA v3 funciona devolviendo una puntuación (entre 0.0 y 1.0) para cada solicitud sin interacción del usuario. Una puntuación de 0.0 indica una alta probabilidad de actividad de bots, mientras que 1.0 sugiere un usuario humano. Los sitios web utilizan esta puntuación para decidir si permiten la acción, presentan un desafío o bloquean la solicitud. La naturaleza invisible de reCAPTCHA v3 significa:

  • No hay desafío visible: Los usuarios no ven una casilla de verificación o un rompecabezas de imágenes.
  • Verificación basada en puntuación: Las decisiones se toman en función de una puntuación de riesgo.
  • Generación dinámica de tokens: Los tokens suelen generarse y verificarse dinámicamente, a menudo mediante solicitudes fetch o XMLHttpRequest.
  • Sensibilidad al tiempo: Inyectar un token demasiado pronto podría hacer que se sobrescriba, mientras que hacerlo demasiado tarde podría perderse el paso de verificación.

Las capacidades avanzadas de inteligencia artificial de CapSolver son cruciales para obtener tokens válidos de reCAPTCHA v3 con altas puntuaciones. Al combinarse con el control robusto del navegador de Crawl4AI, permite a los desarrolladores superar estos desafíos y mantener flujos de datos ininterrumpidos.

💡 Bonificación exclusiva para usuarios de integración de Crawl4AI:
Para celebrar esta integración, ofrecemos un código de bonificación exclusivo del 6% — CRAWL4 para todos los usuarios de CapSolver que se registren a través de este tutorial.
Simplemente ingrese el código durante el recarga en Panel de control para recibir créditos adicionales del 6% de inmediato.

Método de integración 1: Integración de API de CapSolver con Crawl4AI (Enfoque de fetch)

Evadir reCAPTCHA v3 mediante integración de API requiere un enfoque más avanzado que v2, principalmente debido a su naturaleza invisible y verificación dinámica de tokens. La estrategia clave implica obtener el token de reCAPTCHA v3 de CapSolver y luego

enlazar el método window.fetch en el navegador para reemplazar el token original de reCAPTCHA v3 con el token proporcionado por CapSolver en el momento preciso de la verificación.

Cómo funciona:

  1. Obtener token de forma anticipada: Antes de que Crawl4AI navegue a la página objetivo, llame a la API de CapSolver utilizando su SDK para resolver reCAPTCHA v3. Esto le proporcionará un token gRecaptchaResponse válido y posiblemente una puntuación más alta.
  2. Navegar e inyectar JavaScript: Crawl4AI navega a la página objetivo. Crucialmente, inyecta código JavaScript (a través de js_code en CrawlerRunConfig) que sobrescribe el método window.fetch.
  3. Enlazar solicitud fetch: El código JavaScript inyectado intercepta las solicitudes fetch. Cuando se detecta una solicitud dirigida al punto final de verificación de reCAPTCHA v3 (por ejemplo, /recaptcha-v3-verify.php), el código modifica la solicitud para incluir el token proporcionado por CapSolver en lugar de cualquier token generado por la página misma.
  4. Continuar operaciones: Con la solicitud fetch correctamente enlazada y el token válido enviado, Crawl4AI puede continuar con otras acciones, ya que la verificación de reCAPTCHA v3 tendrá éxito.

Código de ejemplo: Integración de API para reCAPTCHA v3 (Enfoque de fetch)

El siguiente código de Python demuestra esta técnica avanzada para integrar la API de CapSolver con Crawl4AI para resolver reCAPTCHA v3. Este ejemplo utiliza la página de demostración de reCAPTCHA v3.

python Copy
import asyncio
import capsolver
from crawl4ai import *


# TODO: configure su configuración
api_key = "CAP-xxxxxxxxxxxxxxxxxxxxx"                                             # su clave de API de capsolver
site_key = "6LdKlZEpAAAAAAOQjzC2v_d36tWxCl6dWsozdSy9"                             # clave del sitio de su sitio objetivo
site_url = "https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php"   # URL de la página de su sitio objetivo
page_action = "examples/v3scores"                                                 # acción de la página de su sitio objetivo
captcha_type = "ReCaptchaV3TaskProxyLess"                                         # tipo de CAPTCHA de su sitio objetivo
capsolver.api_key = api_key


async def main():
    browser_config = BrowserConfig(
        verbose=True,
        headless=False,
        use_persistent_context=True,
    )

    # obtener token de reCAPTCHA usando el SDK de capsolver
    solution = capsolver.solve({
        "type": captcha_type,
        "websiteURL": site_url,
        "websiteKey": site_key,
        "pageAction": page_action,
    })
    token = solution["gRecaptchaResponse"]
    print("token de reCAPTCHA:", token)

    async with AsyncWebCrawler(config=browser_config) as crawler:
        await crawler.arun(
            url=site_url,
            cache_mode=CacheMode.BYPASS,
            session_id="session_captcha_test"
        )

        js_code = """
            const originalFetch = window.fetch;
            
            window.fetch = function(...args) {
              if (typeof args[0] === \'string\' && args[0].includes(\'/recaptcha-v3-verify.php\')) {
                const url = new URL(args[0], window.location.origin);
                url.searchParams.set(\'action\', \""" + token + """\");
                args[0] = url.toString();
                document.querySelector(\".token\").innerHTML = \"fetch(\\'/recaptcha-v3-verify.php?action=examples/v3scores&token="""+token+"""\')\";
                console.log(\'Fetch URL enlazado:\', args[0]);
              }
              return originalFetch.apply(this, args);
            };
        """

        wait_condition = """() => {
            return document.querySelector(\".step3:not(.hidden)\");
        }"""

        run_config = CrawlerRunConfig(
            cache_mode=CacheMode.BYPASS,
            session_id="session_captcha_test",
            js_code=js_code,
            js_only=True,
            wait_for=f"js:{wait_condition}"
        )

        result_next = await crawler.arun(
            url=site_url,
            config=run_config,
        )
        print(result_next.markdown)


if __name__ == "__main__":
    asyncio.run(main())

Análisis del código:

  1. Llamada a solve de CapSolver: El método capsolver.solve se llama con el tipo ReCaptchaV3TaskProxyLess, websiteURL, websiteKey y, lo más importante, pageAction. El parámetro pageAction es crucial para reCAPTCHA v3, ya que ayuda a CapSolver a comprender el contexto del reCAPTCHA en la página y generar un token más preciso.
  2. Enfoque de fetch de JavaScript: El js_code es el núcleo de esta solución. Redefine window.fetch. Cuando se realiza una solicitud fetch a /recaptcha-v3-verify.php, el script la intercepta, modifica la URL para incluir el token proporcionado por CapSolver en el parámetro action y luego permite que la fetch original continúe. Esto asegura que el servidor reciba el token de alta puntuación de CapSolver.
  3. Condición wait_for: La wait_condition asegura que Crawl4AI espere a que un elemento específico (.step3:not(.hidden)) se haga visible, indicando que el proceso de verificación de reCAPTCHA v3 se completó con éxito y que la página avanzó.

Para reCAPTCHA v3, usar la extensión de navegador de CapSolver puede simplificar el proceso de integración, especialmente cuando el objetivo es aprovechar las capacidades automáticas de resolución de la extensión. La extensión está diseñada para detectar y resolver reCAPTCHA v3 en segundo plano, a menudo activada al visitar el sitio web.

Cómo funciona:

  1. Contexto de navegador persistente: Configure Crawl4AI para usar un user_data_dir para lanzar una instancia de navegador que mantenga la extensión de CapSolver instalada.
  2. Configuración de la extensión: Instale la extensión de CapSolver en este perfil de navegador y asegúrese de que su clave de API esté configurada. Para reCAPTCHA v3, generalmente se recomienda que la extensión resuelva automáticamente, lo que significa que manualSolving debe ser false (o el valor predeterminado).
  3. Navegar a la página objetivo: Crawl4AI navega a la página protegida por reCAPTCHA v3.
  4. Resolución automática: La extensión de CapSolver, que funciona dentro del contexto del navegador, detecta reCAPTCHA v3 y lo resuelve automáticamente, inyectando el token según sea necesario. Esto suele ocurrir de forma transparente en segundo plano.
  5. Continuar con acciones: Una vez que reCAPTCHA v3 es resuelto por la extensión, Crawl4AI puede continuar con sus tareas de scraping, ya que el contexto del navegador ahora tendrá los tokens válidos necesarios para solicitudes posteriores.

Código de ejemplo: Integración de extensión para reCAPTCHA v3 (Resolución automática)

Este ejemplo demuestra cómo configurar Crawl4AI para usar un perfil de navegador con la extensión de CapSolver para resolver reCAPTCHA v3 automáticamente. La clave es asegurarse de que la extensión esté correctamente configurada en el user_data_dir.

python Copy
import asyncio
import time

from crawl4ai import *


# TODO: configure su configuración
user_data_dir = "/browser-profile/Default1" # Asegúrese de que esta ruta esté correctamente configurada y contenga su extensión configurada

browser_config = BrowserConfig(
    verbose=True,
    headless=False,
    user_data_dir=user_data_dir,
    use_persistent_context=True,
    proxy="http://127.0.0.1:13120", # Opcional: configure proxy si es necesario
)

async def main():
    async with AsyncWebCrawler(config=browser_config) as crawler:
        result_initial = await crawler.arun(
            url="https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php", # Use la URL de demostración de reCAPTCHA v3
            cache_mode=CacheMode.BYPASS,
            session_id="session_captcha_test"
        )

        # reCAPTCHA v3 suele resolverse automáticamente por la extensión al cargar la página.
        # Es posible que necesite agregar una condición de espera o time.sleep para que el CAPTCHA se resuelva
        # antes de continuar con otras acciones que dependan del token.
        time.sleep(30) # Ejemplo de espera, ajuste según sea necesario para que la extensión funcione

        # Continúe con otras operaciones de Crawl4AI después de que se haya resuelto el CAPTCHA
        # Por ejemplo, verifique elementos o contenido que aparezcan después de una verificación exitosa
        # print(result_initial.markdown) # Puede inspeccionar el contenido de la página después de la espera


if __name__ == "__main__":
    asyncio.run(main())

Análisis del código:

  1. user_data_dir: Similar a la integración de extensión de reCAPTCHA v2, este parámetro es crítico para que Crawl4AI use un perfil de navegador con una extensión de CapSolver previamente instalada y configurada. La extensión resolverá entonces la resolución de reCAPTCHA v3 automáticamente.
  2. Resolución automática: La extensión de CapSolver está diseñada para detectar y resolver automáticamente los desafíos de reCAPTCHA v3. Se incluye un time.sleep como ejemplo general para permitir que la extensión complete sus operaciones en segundo plano. Para soluciones más robustas, considere usar la función wait_for de Crawl4AI para verificar cambios específicos en la página que indiquen una resolución exitosa de reCAPTCHA v3.

Conclusión

Resolver reCAPTCHA v3 en el scraping web requiere un enfoque sofisticado, dada su naturaleza invisible y mecanismos de verificación dinámicos. La integración de Crawl4AI con CapSolver proporciona herramientas poderosas para superar estos desafíos. Ya sea mediante el control preciso de la integración de API con enfoques de JavaScript fetch o la automatización simplificada ofrecida por la extensión de navegador, los desarrolladores pueden garantizar que sus operaciones de scraping web sean eficientes e ininterrumpidas.

Al aprovechar las capacidades de resolución de reCAPTCHA v3 de alta precisión de CapSolver y el control avanzado del navegador de Crawl4AI, puede mantener altas tasas de éxito en la extracción de datos de sitios protegidos por este CAPTCHA avanzado. Esta sinergia permite a los desarrolladores construir sistemas más robustos y confiables para la recolección automatizada de datos web.

Referencias

Aviso de Cumplimiento: La información proporcionada en este blog es solo para fines informativos. CapSolver se compromete a cumplir con todas las leyes y regulaciones aplicables. El uso de la red de CapSolver para actividades ilegales, fraudulentas o abusivas está estrictamente prohibido y será investigado. Nuestras soluciones para la resolución de captcha mejoran la experiencia del usuario mientras garantizan un 100% de cumplimiento al ayudar a resolver las dificultades de captcha durante el rastreo de datos públicos. Fomentamos el uso responsable de nuestros servicios. Para obtener más información, visite nuestros Términos de Servicio y Política de Privacidad.

Máse

Extensión Capsolver - Resolver reCaptcha en tu navegador
CapSolver Extension - Resolver reCAPTCHA en tu navegador

Resolver reCaptcha v2 / v3 / invisible / enterprise en cualquier página web sin esfuerzo usando la Extensión Capsolver para Resolver Captchas

reCAPTCHA
Logo of CapSolver

Adélia Cruz

27-Oct-2025

Cómo resolver reCAPTCHA en el web scraping usando Python
Cómo resolver reCAPTCHA en el web scraping usando Python

Aprende a resolver reCAPTCHA v2 y v3 en el raspado web usando Python y Capsolver. Guía paso a paso, opciones de proxy y ejemplos de código para una automatización fluida.

reCAPTCHA
Logo of CapSolver

Adélia Cruz

24-Oct-2025

Automatización de SEO impulsada por IA: Cómo resolver Captcha para una recopilación de datos SERP más inteligente
Automatización de SEO impulsada por IA: Cómo resolver Captcha para una recopilación de datos de SERP más inteligente

Descubre cómo la automatización de SEO impulsada por IA supera los desafíos de CAPTCHA para una recopilación más inteligente de datos de SERP y conoce las soluciones de reCAPTCHA v2/v3

reCAPTCHA
Logo of CapSolver

Adélia Cruz

23-Oct-2025

Guía para resolver reCAPTCHA v2
Cómo resolver reCAPTCHA v2: Guía para resolver reCAPTCHA v2

Aprende a automatizar la resolución de Google reCAPTCHA v2 usando CapSolver. Descubre la integración de API y SDK, guías paso a paso y códigos de bonificación para facilitar la resolución de captchas en proyectos de scraping web, automatización y desarrollo.

reCAPTCHA
Logo of CapSolver

Emma Foster

22-Oct-2025

Resolutor de Recaptcha
Solucionador de reCAPTCHA Reconocimiento Automático y Métodos de Resolución

Aprende cómo reconocer y resolver automáticamente los desafíos de Google reCAPTCHA v2, v3, invisible y empresarial usando técnicas avanzadas de IA y OCR.

reCAPTCHA
Logo of CapSolver

Aloísio Vítor

22-Oct-2025

Mejor resolutor de Captcha
¿Cuál solucionador de reCAPTCHA es el mejor? Mejor solucionador de reCAPTCHA

En este artículo, exploraremos los factores clave que determinan la efectividad de un solucionador de reCAPTCHA y destacaremos por qué CapSolver se destaca como el mejor solucionador de reCAPTCHA para 2024.

reCAPTCHA
Logo of CapSolver

Anh Tuan

22-Oct-2025