🥳Únase a la Comunidad Scrapeless y Solicite su prueba gratuita para acceder a nuestro potente kit de herramientas de Web Scraping.
Volver al blog

Cómo usar Playwright para evitar Cloudflare en 2024

Emily Chen
Emily Chen

Advanced Data Extraction Specialist

11-Sep-2024

Cuando se utiliza un navegador sin cabeza, ¿sigue siendo bloqueado su raspador web? En esta guía, descubrirá cómo eludir Cloudflare mejorando la máscara de Playwright.

Cloudflare: ¿Qué es?

Bot Management, un servicio proporcionado por el proveedor de seguridad y optimización de rendimiento Cloudflare, es una pesadilla para muchos raspadores. Alrededor de una quinta parte de los sitios web utilizan cortafuegos de aplicaciones web (WAF), que identifican y detienen rutinariamente a los raspadores. Los navegadores sin cabeza, como Playwright y Selenium, entran en esta categoría.

¿Cómo funciona Cloudflare?

Cloudflare compara y separa el tráfico generado por bots y por usuarios reales utilizando una serie de técnicas, como:

Análisis del comportamiento: Supervisa varios aspectos de las interacciones del usuario con el sitio web, como los clics, los movimientos del ratón y los tiempos de carga de las páginas.

Análisis de la reputación de las IP: La dirección IP de cada solicitud se compara con una base de datos para determinar si se ha utilizado para raspar.

Análisis del agente de usuario: la cadena sirve como medio para identificar el navegador o dispositivo que realiza la solicitud al sitio web. Cloudflare puede identificar cadenas de agente de usuario genéricas o instantáneamente identificables utilizadas por los raspadores.

Pruebas CAPTCHA: el sistema puede optar por determinar si un usuario que envía una solicitud a un sitio web es un robot o un humano. Si el usuario pasa, la solicitud se aprobará. En caso contrario, será bloqueada.

Análisis de la tasa de solicitudes: Utilizando esta técnica, se puede hacer un seguimiento del volumen de consultas enviadas a un sitio web y detectar tendencias que son características de los bots automatizados. Por ejemplo, los bots suelen enviar una gran cantidad de solicitudes en poco tiempo.

Por qué usar Playwright básico no es suficiente para eludir Cloudflare

Es posible que no sea posible eludir las defensas anti-bot de Cloudflare utilizando Playwright. ¿La causa? Si bien algunas de las dificultades pueden superarse simulando un comportamiento de navegación similar al humano utilizando esta u otras herramientas de automatización del navegador, métodos más sofisticados, como la utilización de proxies y agentes de usuario personalizados, podrían necesitar un esfuerzo adicional para superarlas.
Para demostrarlo, vamos a iniciar un proyecto NodeJS Playwright y ver cómo falla al funcionar a través de Cloudflare.

Paso 1: Verifica que npm y Node.js estén instalados en tu computadora.

Paso 2: Utiliza este comando para iniciar un nuevo proyecto después de navegar hasta el directorio deseado:

language Copy
npm init

Paso 3: Ahora utiliza el siguiente comando para instalar Playwright como una dependencia.

language Copy
npm install playwright

Paso 4: ¡Fantástico Trabajo! Ahora puedes empezar a usar Playwright. Crea un nuevo archivo con una extensión .js, como scraper.js en el directorio de tu proyecto. En él, crea un script para visitar https://crozdesk.com y tomar una captura de pantalla.

language Copy
const playwright = require("playwright");

async function scraper() {
  const browser = await playwright.chromium.launch({ headless: true });
  const context = await browser.newContext();
  const page = await context.newPage();
  await page.goto("https://crozdesk.com");
  await page.waitForTimeout(1000);
  await page.screenshot({ path: "screenshot.png", fullPage: true });
  await browser.close();
}

scraper();

Como puedes ver en la línea cuatro, nuestro raspador utiliza Chromium como navegador, pero eres libre de usar otro.

Paso 5: Utiliza este comando para ejecutar todo el código:

language Copy
node scraper.js

Este es el resultado:

acceso denegado

Por desgracia, la versión simple de Playwright se identifica como un bot y se bloquea el acceso al sitio web.

En la siguiente parte, veremos algunas estrategias que te ayudarán a eludir Cloudflare. ¡Sigue leyendo!

Cómo eludir Cloudflare enmascarando Playwright

Veamos algunas estrategias para gestionar las técnicas de detección de Cloudflare. Normalmente, para que tu script funcione, será necesaria una combinación de estas.

Método 1: Replicar la conducta humana

Para que el navegador automatizado parezca más humano, puedes añadir pausas aleatorias, desplazamiento y otras interacciones con el sitio web a nuestro código anterior de Playwright scraper.

Método 2: Emplear proxies

Es fácil que te bloqueen por raspar sitios web si envías demasiadas consultas en poco tiempo. Puedes evitarlo utilizando proxies rotatorios para que parezcas diferentes usuarios.

Método 3: Elegir un agente de usuario único

Los agentes de usuario contienen información sobre el cliente que realiza las solicitudes, incluido el sistema operativo y el navegador. Es preferible utilizar un agente de usuario personalizado que imite un navegador web popular en lugar del predeterminado de Playwright para evitar ser detectado.

Método 4: Utilizar un solucionador de CAPTCHA

Con Playwright, puedes utilizar una variedad de herramientas, como Scrapeless, para resolver CAPTCHAs.

¿Cansado de los bloqueos constantes de raspado web y las CAPTCHA?

Te presentamos Scrapeless: ¡la solución definitiva para el raspado web todo en uno!

Desbloquea el potencial completo de tu extracción de datos con nuestro potente conjunto de herramientas:

Mejor desbloqueador web

Resuelve automáticamente CAPTCHAs avanzados, manteniendo tu raspado sin problemas e ininterrumpido.

Experimenta la diferencia - ¡pruébalo gratis!

Método 5: Agregar Playwright-extra

Playwright-extra es un marco para plugins de Playwright que es ligero y permite complementos adicionales útiles. El que usaremos para evitar Cloudflare se llama Puppeteer-extra-plugin-stealth, y emplea una serie de estrategias, incluida la generación de eventos de ratón y la modificación del agente de usuario, para ocultar el uso de un navegador sin cabeza.

En conclusión

Como puedes ver, puedes usar Playwright para evitar Cloudflare, pero es posible que debas usar algunos trucos sofisticados que podrían no funcionar siempre. Mientras tanto, Scrapeless te ayudará a tener éxito de inmediato y te proporcionará una clave API gratuita ahora mismo.

En Scrapeless, solo accedemos a datos disponibles públicamente y cumplimos estrictamente con las leyes, regulaciones y políticas de privacidad del sitio web aplicables. El contenido de este blog es sólo para fines de demostración y no implica ninguna actividad ilegal o infractora. No ofrecemos garantías y renunciamos a toda responsabilidad por el uso de la información de este blog o enlaces de terceros. Antes de realizar cualquier actividad de scraping, consulte a su asesor legal y revise los términos de servicio del sitio web de destino u obtenga los permisos necesarios.

Artículos más populares

Catalogar