CAPSOLVER
Blog
Cómo resolver Cloudflare con Puppeteer

Cómo resolver Cloudflare con Puppeteer

Logo of CapSolver

Lucas Mitchell

Automation Engineer

28-Aug-2024

Cómo Resolver Cloudflare con Puppeteer

Introducción

Cloudflare es un servicio poderoso que proporciona seguridad y mejoras de rendimiento para sitios web. Protege los sitios de una variedad de amenazas, incluidos los ataques DDoS y los bots maliciosos, mediante la implementación de varios mecanismos de seguridad. Si bien estas protecciones son beneficiosas para los propietarios de sitios web, pueden representar desafíos importantes para los desarrolladores involucrados en el raspado web y la automatización. Las defensas de Cloudflare a menudo incluyen CAPTCHA, desafíos de JavaScript y verificaciones de navegador, todos diseñados para bloquear scripts automatizados. Para aquellos que utilizan herramientas como Puppeteer para automatizar tareas, estas barreras pueden ser un obstáculo importante. En esta guía, repasaremos cómo utilizar Puppeteer para navegar y resolver eficazmente las protecciones de Cloudflare, lo que le permitirá continuar sus proyectos de automatización sin interrupciones.

Guía paso a paso para usar Puppeteer para resolver Cloudflare

Paso 1: Configurar Puppeteer

Para comenzar, deberá configurar Puppeteer, una biblioteca de Node.js que ofrece una API de alto nivel para controlar Chrome o Chromium. Esta herramienta se utiliza ampliamente para automatizar tareas, pruebas y raspar sitios web.

Comience instalando Puppeteer utilizando npm:

bash Copy
npm install puppeteer

Una vez instalado, puede escribir un script simple para iniciar una instancia de navegador y navegar a un sitio web protegido por Cloudflare:

javascript Copy
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: false });
  const page = await browser.newPage();
  await page.goto('https://example.com'); // Reemplace con su URL de destino
  await page.screenshot({ path: 'before-cf.png' });

  // Los pasos adicionales para manejar las protecciones de Cloudflare seguirán

  await browser.close();
})();

Este script lanza un navegador, navega a la URL especificada y toma una captura de pantalla. Sin embargo, simplemente visitar el sitio podría activar las comprobaciones de seguridad de Cloudflare, por lo que se necesitan pasos adicionales para manejarlas.

Paso 2: Gestionando los desafíos de JavaScript de Cloudflare

Cloudflare a menudo utiliza desafíos de JavaScript para verificar que la solicitud proviene de un navegador legítimo. Estos desafíos generalmente implican ejecutar JavaScript que tarda unos segundos en completarse. Puppeteer puede manejar fácilmente estas comprobaciones esperando a que los scripts necesarios se ejecuten:

javascript Copy
await page.waitForTimeout(10000); // Esperar 10 segundos a la verificación de Cloudflare
await page.screenshot({ path: 'after-cf.png' });

Este enfoque funciona para comprobaciones básicas, pero si Cloudflare implementa desafíos más sofisticados, como CAPTCHAs, necesitarás una solución más avanzada. Aquí es donde entra en juego CapSolver.

Integración de CapSolver: Mejora de Puppeteer para omitir Cloudflare

CapSolver es un servicio diseñado para resolver CAPTCHAs y otros desafíos similares automáticamente, lo cual es particularmente útil cuando se trata de las protecciones avanzadas de Cloudflare. Al integrar CapSolver en tu script de Puppeteer, puedes automatizar la resolución de estos desafíos, permitiendo que tu script continúe ejecutándose sin interrupciones.

Aquí te mostramos cómo puedes integrar CapSolver con Puppeteer:

javascript Copy
const puppeteer = require('puppeteer');
const axios = require('axios');

const clientKey = 'your-client-key-here'; // Reemplaza con tu clave de cliente de CapSolver
const websiteURL = 'https://example.com'; // Reemplaza con la URL de tu sitio web de destino
const websiteKey = 'your-website-key-here'; // Reemplaza con la clave del sitio web proporcionada por CapSolver

async function createTask() {
  const response = await axios.post('https://api.capsolver.com/createTask', {
    clientKey: clientKey,
    task: {
      type: "AntiTurnstileTaskProxyLess",
      websiteURL: websiteURL,
      websiteKey: websiteKey
    }
  }, { 
javascript Copy
headers: {
      'Content-Type': 'application/json',
      'Pragma': 'no-cache'
    }
  });

  return response.data.taskId;
}

async function getTaskResult(taskId) {
  console.log(taskId);
  let response;

  while (true) {
    response = await axios.post('https://api.capsolver.com/getTaskResult', {
      clientKey: clientKey,
      taskId: taskId
    }, {
      headers: {
        'Content-Type': 'application/json'
      }
    });

    if (response.data.status === 'ready') {
      return response.data.solution;
    }

    console.log('Status not ready, checking again in 5 seconds...');
    await new Promise(resolve => setTimeout(resolve, 5000));
  }
}

(async () => {
  const taskId = await createTask();
  const result = await getTaskResult(taskId);
  console.log(result);
  let solution = result.token;

  const browser = await puppeteer.launch({ headless: false });
  const page = await browser.newPage();
  await page.goto(websiteURL);
  await page.waitForSelector('input[name="cf-turnstile-response"]');
  await page.evaluate(solution => {
    document.querySelector('input[name="cf-turnstile-response"]').value = solution;
  }, solution);
  await page.screenshot({ path: 'example.png' });
})();

Navegar las medidas de seguridad de Cloudflare puede ser un desafío significativo para los desarrolladores e ingenieros de datos que trabajan en tareas de automatización y web scraping. Si bien Puppeteer proporciona las herramientas necesarias para manejar desafíos básicos, la integración de CapSolver le permite superar obstáculos más complejos como los CAPTCHA sin problemas. Esta combinación garantiza que sus scripts se ejecuten sin problemas, incluso en sitios protegidos por Cloudflare.

Para comenzar con CapSolver y mejorar la eficiencia de sus tareas de automatización, asegúrese de usar nuestro código de bonificación WEBS para obtener un valor adicional. Con las herramientas y estrategias correctas, puede navegar las defensas de Cloudflare y mantener sus proyectos en marcha.

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

AI-LLM: La solución del futuro para el control de riesgos, el reconocimiento de imágenes y la resolución de CAPTCHA
IA-MLLE: La Solución del Futuro para el Control de Riesgos, Reconocimiento de Imágenes y Resolución de CAPTCHA

Una exploración profunda de cómo los LLMs reconfiguran la resolución de CAPTCHA gráficos, combinando el razonamiento de cero shots con la precisión de redes neuronales convolucionales para el control de riesgos moderno.

Logo of CapSolver

Adélia Cruz

05-Dec-2025

Cómo resolver CAPTCHAs durante el scraping web con Scrapling y CapSolver
Cómo resolver captchas al realizar scraping web con Scrapling y CapSolver

Scrapling + CapSolver permite el scraping automatizado con ReCaptcha v2/v3 y bypass de Cloudflare Turnstile.

web scraping
Logo of CapSolver

Ethan Collins

05-Dec-2025

Cambiar el Agente de Usuario en Selenium
Cambiar el Agente de Usuario en Selenium | Pasos y Mejores Prácticas

Cambiar el Agente de Usuario en Selenium es un paso crucial para muchas tareas de scraping web. Ayuda a disfrazar el script de automatización como un navegador regular...

The other captcha
Logo of CapSolver

Adélia Cruz

05-Dec-2025

Cómo identificar si la `action` es requerida para resolver Cloudflare Turnstile usando la extensión CapSolver
Cómo identificar si `action` es necesario para resolver Cloudflare Turnstile usando la extensión de CapSolver

Aprende a identificar la acción para resolver eficazmente el captcha de Cloudflare Turnstile. Sigue nuestra guía paso a paso sobre cómo usar las herramientas y técnicas de Capsolver.

Cloudflare
Logo of CapSolver

Adélia Cruz

05-Dec-2025

9proxy
Descubre el Poder de 9Proxy: Una Revisión Completa

En este artículo, te mostraremos qué es 9proxy y los servicios que ofrecen.

Partners
Logo of CapSolver

Emma Foster

04-Dec-2025

Scraping de web con Selenium y Python
Raspado de web con Selenium y Python | Resolver Captcha al realizar el raspado de web

En este artículo te familiarizarás con el web scraping usando Selenium y Python, y aprenderás a resolver el Captcha involucrado en el proceso para una extracción de datos eficiente.

web scraping
Logo of CapSolver

Rajinder Singh

04-Dec-2025