CAPSOLVER
Blog
Cómo resolver AWS WAF en Crawl4AI con Integración de CapSolver

Cómo resolver AWS WAF en Crawl4AI con Integración de CapSolver

Logo of CapSolver

Aloísio Vítor

Image Processing Expert

21-Oct-2025

Introducción

El Firewall de Aplicaciones Web (WAF) de Amazon Web Services (AWS) es un servicio de seguridad poderoso que ayuda a proteger las aplicaciones web de explotaciones comunes que podrían afectar la disponibilidad, comprometer la seguridad o consumir recursos excesivos. Aunque es crucial para proteger los activos web, el WAF de AWS puede presentar un desafío significativo para los procesos de raspado automático y extracción de datos, a menudo bloqueando a los raspadores legítimos.

Este artículo proporciona una guía completa sobre cómo integrar de manera fluida Crawl4AI, un raspador web avanzado, con CapSolver, un servicio líder en soluciones de CAPTCHA y anti-bot, para resolver eficazmente las protecciones de WAF de AWS. Detallaremos el método de integración basado en API, incluyendo ejemplos de código y explicaciones, para garantizar que sus tareas de automatización web puedan proseguir sin interrupciones.

Comprensión de AWS WAF y sus desafíos para el raspado web

AWS WAF funciona monitoreando las solicitudes HTTP(S) que se envían a una distribución de Amazon CloudFront, un balanceador de carga de aplicaciones, una API Gateway de Amazon o una API de AWS AppSync de GraphQL. Permite configurar reglas que bloqueen patrones de ataque comunes, como inyección de SQL o scripting entre sitios, y también puede filtrar el tráfico basado en direcciones IP, encabezados HTTP, cuerpo HTTP o cadenas de URI. Para los raspadores web, esto suele significar:

  • Filtrado de solicitudes: Las reglas de WAF pueden identificar y bloquear solicitudes que parezcan automatizadas o maliciosas.
  • Verificación basada en cookies: AWS WAF utiliza frecuentemente cookies específicas para rastrear y verificar sesiones de usuarios legítimos. Sin estas cookies, las solicitudes suelen ser denegadas.
  • Desafíos dinámicos: Aunque no es una CAPTCHA tradicional, los mecanismos subyacentes pueden actuar como una barrera, requiriendo tokens específicos o identificadores de sesión para continuar.

CapSolver proporciona una solución robusta para obtener el cookie aws-waf-token, que es clave para eludir el WAF de AWS. Al integrarlo con Crawl4AI, permite que sus raspadores imiten el comportamiento de usuarios legítimos y naveguen exitosamente por sitios protegidos.

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

Método de integración 1: Integración de API de CapSolver con Crawl4AI

El método más efectivo para manejar desafíos de WAF de AWS con Crawl4AI y CapSolver es a través de la integración de API. Este método implica usar CapSolver para obtener el aws-waf-token requerido y luego inyectar este token como cookie en el contexto del navegador de Crawl4AI antes de recargar la página objetivo.

¿Cómo funciona:

  1. Navegación inicial: Crawl4AI intenta acceder a la página web objetivo protegida por WAF de AWS.
  2. Identificar desafío de WAF: Al encontrarse con el WAF, su script reconocerá la necesidad de un aws-waf-token.
  3. Obtener cookie de WAF de AWS: Llame a la API de CapSolver usando su SDK, especificando el tipo AntiAwsWafTaskProxyLess junto con websiteURL. CapSolver devolverá la cookie aws-waf-token necesaria.
  4. Inyectar cookie y recargar: Utilice la funcionalidad js_code de Crawl4AI para establecer la cookie aws-waf-token en el contexto del navegador. Después de establecer la cookie, se recarga la página.
  5. Continuar operaciones: Con la cookie aws-waf-token correcta, Crawl4AI puede acceder ahora exitosamente a la página protegida y continuar con sus tareas de extracción de datos.

Código de ejemplo: Integración de API para WAF de AWS

El siguiente código en Python demuestra cómo integrar la API de CapSolver con Crawl4AI para resolver desafíos de WAF de AWS. Este ejemplo apunta a una página de bienvenida de NFT de Porsche protegida por WAF de AWS.

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_url = "https://nft.porsche.com/onboarding@6"  # URL de su sitio objetivo
cookie_domain = ".nft.porsche.com"                 # el nombre de dominio al que desea aplicar la cookie
captcha_type = "AntiAwsWafTaskProxyLess"           # tipo de CAPTCHA objetivo
capsolver.api_key = api_key


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

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

        # obtener cookie de WAF de AWS usando el SDK de capsolver
        solution = capsolver.solve({
            "type": captcha_type,
            "websiteURL": site_url,
        })
        cookie = solution["cookie"]
        print("cookie de WAF de AWS:", cookie)

        js_code = """
            document.cookie = \'aws-waf-token=""" + cookie + """;domain=""" + cookie_domain + """;path=/\
\';
            location.reload();
        """

        wait_condition = """() => {
            return document.title === \'Unirse al viaje de Porsche en Web3\';
        }"""

        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 al SDK de CapSolver: El método capsolver.solve se invoca con el tipo AntiAwsWafTaskProxyLess y websiteURL para recuperar la cookie aws-waf-token. Este es el paso crucial donde el AI de CapSolver resuelve el desafío de WAF y proporciona la cookie necesaria.
  2. Inyección de JavaScript (js_code): La cadena js_code contiene JavaScript que establece la cookie aws-waf-token en el contexto del navegador usando document.cookie. Luego activa location.reload() para recargar la página, asegurando que la siguiente solicitud incluya la cookie válida recién establecida.
  3. Condición wait_for: Se define una wait_condition para garantizar que Crawl4AI espere a que el título de la página sea 'Unirse al viaje de Porsche en Web3', indicando que el WAF ha sido eludido con éxito y que el contenido deseado está cargado.

La extensión del navegador de CapSolver ofrece un enfoque simplificado para manejar desafíos de WAF de AWS, especialmente cuando se aprovecha sus capacidades de resolución automática dentro de un contexto de navegador persistente gestionado por Crawl4AI.

¿Cómo funciona:

  1. Contexto de navegador persistente: Configure Crawl4AI para usar un user_data_dir y lanzar una instancia de navegador que conserve la extensión de CapSolver instalada y sus configuraciones.
  2. Instalar y configurar la extensión: Instale manualmente la extensión de CapSolver en este perfil de navegador y configure su clave de API de CapSolver. La extensión se puede configurar para resolver automáticamente desafíos de WAF de AWS.
  3. Navegar a la página objetivo: Crawl4AI navega a la página web protegida por WAF de AWS.
  4. Resolución automática: La extensión de CapSolver, que funciona dentro del contexto del navegador, detecta el desafío de WAF de AWS y obtiene automáticamente la cookie aws-waf-token. Esta cookie se aplica automáticamente a las solicitudes posteriores.
  5. Continuar con las acciones: Una vez que el WAF de AWS es resuelto por la extensión, Crawl4AI puede continuar con sus tareas de raspado, ya que el contexto del navegador ahora tiene las cookies válidas necesarias para las solicitudes posteriores.

Código de ejemplo: Integración de extensión para WAF de AWS (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 automáticamente los desafíos de WAF de AWS.

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 el proxy si es necesario
)

async def main():
    async with AsyncWebCrawler(config=browser_config) as crawler:
        result_initial = await crawler.arun(
            url="https://nft.porsche.com/onboarding@6",
            cache_mode=CacheMode.BYPASS,
            session_id="session_captcha_test"
        )

        # La extensión resolverá automáticamente el WAF de AWS al cargar la página.
        # Es posible que necesite agregar una condición de espera o time.sleep para que el WAF sea resuelto
        # antes de continuar con otras acciones.
        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 el WAF de AWS sea resuelto
        # 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: Este parámetro es esencial para que Crawl4AI lance una instancia de navegador que conserve la extensión de CapSolver instalada y sus configuraciones. Asegúrese de que la ruta apunte a un directorio válido de perfil de navegador donde se haya instalado la extensión.
  2. Resolución automática: La extensión de CapSolver está diseñada para detectar y resolver automáticamente desafíos de WAF de AWS. Se incluye time.sleep como un ejemplo general para permitir que la extensión complete sus operaciones en segundo plano. Para soluciones más robustas, considere usar la funcionalidad wait_for de Crawl4AI para verificar cambios específicos en la página que indiquen una resolución exitosa del WAF de AWS.

Código de ejemplo: Integración de extensión para WAF de AWS (Resolución manual)

Si prefiere activar la resolución del WAF de AWS manualmente en un punto específico de su lógica de raspado, puede configurar el parámetro manualSolving de la extensión en true y luego usar js_code para hacer clic en el botón de resolución proporcionado por la extensión.

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 el proxy si es necesario
)

async def main():
    async with AsyncWebCrawler(config=browser_config) as crawler:
        result_initial = await crawler.arun(
            url="https://nft.porsche.com/onboarding@6",
            cache_mode=CacheMode.BYPASS,
            session_id="session_captcha_test"
        )

        # Espere un momento para que la página se cargue y la extensión esté lista
        time.sleep(6)

        # Use js_code para activar el botón de resolución manual proporcionado por la extensión de CapSolver
        js_code = """
            let solverButton = document.querySelector(\'#capsolver-solver-tip-button\');
            if (solverButton) {
            // evento de clic
                const clickEvent = new MouseEvent(\'click\', {
                    bubbles: true,
                    cancelable: true,
                    view: window
                });
                
                solverButton.dispatchEvent(clickEvent);
            }
        """
        print(js_code)
        run_config = CrawlerRunConfig(
            cache_mode=CacheMode.BYPASS,
            session_id="session_captcha_test",
            js_code=js_code,
            js_only=True,
        )
        result_next = await crawler.arun(
            url="https://nft.porsche.com/onboarding@6",
            config=run_config
        )
        print("Resultados de ejecución de JS:", result_next.js_execution_result)

        # Permita tiempo para que el WAF de AWS sea resuelto después de la activación manual
        time.sleep(30) # Ejemplo de espera, ajuste según sea necesario

        # Continúe con otras operaciones de Crawl4AI


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

Análisis del código:

  1. manualSolving: Antes de ejecutar este código, asegúrese de que en el config.js de la extensión de CapSolver se establezca manualSolving en true.
  2. Activar resolución: El js_code simula un evento de clic en el #capsolver-solver-tip-button, que es el botón proporcionado por la extensión de CapSolver para la resolución manual. Esto le da un control preciso sobre cuándo se inicia el proceso de resolución del WAF de AWS.

Conclusión

La integración de Crawl4AI con CapSolver ofrece una solución sólida y eficiente para eludir las protecciones de WAF de AWS, permitiendo un raspado web sin interrupciones y extracción de datos. Al aprovechar la capacidad de CapSolver para obtener el token crítico aws-waf-token y las capacidades flexibles de inyección de js_code de Crawl4AI, los desarrolladores pueden garantizar que sus procesos automatizados naveguen sin problemas por sitios protegidos por WAF.

Esta integración no solo mejora la estabilidad y la tasa de éxito de sus raspadores, sino que también reduce significativamente la sobrecarga operativa asociada con la gestión de mecanismos anti-bot complejos. Con esta combinación poderosa, puede recopilar datos de aplicaciones web incluso las más protegidas con confianza.

Preguntas frecuentes (FAQ)

P1: ¿Qué es AWS WAF y por qué se utiliza en el raspado web?
R1: AWS WAF (Firewall de Aplicaciones Web) es un servicio de seguridad basado en la nube que protege aplicaciones web contra explotaciones comunes. En el raspado web, se encuentra como un mecanismo anti-bot que bloquea solicitudes consideradas sospechosas o automatizadas, requiriendo técnicas de elusión para acceder a los datos objetivo.

P2: ¿Cómo ayuda CapSolver a eludir AWS WAF?
R2: CapSolver proporciona servicios especializados, como AntiAwsWafTaskProxyLess, para resolver desafíos de AWS WAF. Obtiene la cookie aws-waf-token necesaria, que luego se usa en Crawl4AI para imitar el comportamiento de usuarios legítimos y acceder al sitio web protegido.
Q3: ¿Cuáles son los principales métodos de integración de AWS WAF con Crawl4AI y CapSolver?
A3: Hay dos métodos principales: integración por API, donde se llama a la API de CapSolver para obtener el aws-waf-token que luego se inyecta mediante el js_code de Crawl4AI, y integración mediante extensión de navegador, donde la extensión de CapSolver maneja automáticamente el desafío de WAF dentro de un contexto de navegador persistente.

Q4: ¿Es necesario usar un proxy al resolver AWS WAF con CapSolver?
A4: Aunque no siempre estrictamente necesario, usar un proxy puede ser beneficioso, especialmente si las operaciones de scraping requieren mantener anonimato o simular solicitudes desde ubicaciones geográficas específicas. Las tareas de CapSolver suelen admitir configuraciones de proxy.

Q5: ¿Cuáles son los beneficios de integrar Crawl4AI y CapSolver para AWS WAF?
A5: La integración conduce a un manejo automático de WAF, mayor eficiencia en la navegación web, mayor robustez del raspador contra mecanismos anti-bot y reducción de costos operativos al minimizar la intervención manual.

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

Cómo resolver Cloudflare en 2024: Resolver Cloudflare Turnstile y desafío usando CapSolver
Cómo resolver Cloudflare en 2025: Resolver Cloudflare Turnstile y desafío usando CapSolver

Explorar el Desafío de Cloudflare y el CAPTCHA de Turnstile y aprender a evitarlos utilizando CapSolver, navegadores automatizados y proxies de alta calidad. Incluye ejemplos prácticos de Python y Node.js para resolver CAPTCHA de forma fluida en tareas de automatización.

aws waf
Logo of CapSolver

Adélia Cruz

03-Nov-2025

Cómo resolver AWS Captcha con NodeJS
Cómo resolver el Captcha de AWS con NodeJS

En este artículo, te mostraremos cómo resolver el Captcha / Desafío de AWS con Node.JS.

aws waf
Logo of CapSolver

Adélia Cruz

03-Nov-2025

Resolución automática de CAPTCHA de AWS WAF
Resolución Automática de CAPTCHA de AWS WAF mediante integración de navegador o de API

Aprende a resolver automáticamente CAPTCHA de AWS WAF usando extensiones de navegador e integración de API. Este guía cubre reconocimiento de imágenes, desafíos basados en tokens y soluciones de CapSolver para una automatización fluida y scraping web.

aws waf
Logo of CapSolver

Aloísio Vítor

23-Oct-2025

Cómo resolver AWS WAF en Crawl4AI con la integración de CapSolver
Cómo resolver AWS WAF en Crawl4AI con Integración de CapSolver

Aprende cómo resolver las protecciones de AWS WAF en Crawl4AI usando la API de CapSolver y los métodos de integración de extensión de navegador. Esta guía proporciona ejemplos de código para el raspado web sin problemas.

aws waf
Logo of CapSolver

Aloísio Vítor

21-Oct-2025

El Mejor Solucionador de CAPTCHA de AWS WAF para Automatización y Scraping
El Mejor Solucionador de CAPTCHA de AWS WAF para Automatización y Scraping

Descubre el mejor solucionador de CAPTCHA para AWS WAF. La solución impulsada por IA de CapSolver supera los desafíos de WAF instantáneamente, garantizando un scraping web y automatización sin interrupciones a gran escala.

aws waf
Logo of CapSolver

Aloísio Vítor

17-Oct-2025