Cómo usar Playwright para omitir CAPTCHA

Advanced Bot Mitigation Engineer
¿Alguna vez las CAPTCHA te han impedido la extracción de datos web? Estas dificultades pueden causar dolores de cabeza al automatizar la recopilación de datos. Afortunadamente, hay 2 formas de evitar la CAPTCHA usando Playwright, en las que profundizaremos en esta publicación.
¿Playwright puede resolver la CAPTCHA?
Las CAPTCHA están diseñadas para ser difíciles para los bots pero fáciles para las personas, pero también veremos cómo puedes utilizar Playwright junto con otras herramientas útiles para eliminarlas.
Una lección crucial es que puedes: A) completar el examen tan pronto como ocurra; o B) evitarlo por completo e intentar de nuevo si aparece.
En el primer escenario, será necesario utilizar un solucionador de CAPTCHA de Playwright, y puede resultar costoso en grandes cantidades. Para evitar la detección en el segundo caso, tu raspador debe imitar mejor el comportamiento humano. Se mostrarán ambas estrategias, pero como punto de partida, la segunda es la mejor.
¡Ahora examinemos cómo puedes poner esto en práctica!
Método 1: Usar Playwright básico y un solucionador de CAPTCHA para evitar la CAPTCHA.
El primer método que discutiremos es usar Playwright con Scrapeless, un servicio que resuelve CAPTCHA empleando humanos en tu nombre.
¿Estás cansado de las CAPTCHA y los continuos bloqueos de la extracción de datos web?
Scrapeless: ¡la mejor solución de raspado online todo en uno disponible!
Utiliza nuestro formidable conjunto de herramientas para liberar todo el potencial de tu extracción de datos:
Mejor solucionador de CAPTCHA
Resolución automatizada de CAPTCHA complejas para garantizar un raspado continuo y fluido.
¡Pruébalo gratis!
Método 2: Emplear el complemento Stealth en Playwright
Si necesitas raspar datos de un sitio web que emplea obstáculos CAPTCHA más difíciles, la configuración previa de Playwright no funcionará, pero el complemento Stealth es una solución útil. Este proyecto de código abierto agrega elementos a Playwright para que se parezca más al tráfico web real:
- Tu User-Agent está oculto.
- Para evitar la identificación de la dirección IP, WebRTC está deshabilitado. Preserva la privacidad ocultando el historial de navegación incluso si no prohíbe específicamente los scripts de seguimiento.
- Para que tus solicitudes parezcan más naturales, mejora tu navegador sin cabeza con componentes adicionales.
- Para agregar más vigor a nuestro ejemplo, probemos Astra, un sitio web que tiene una seguridad mínima de Cloudflare.
Instala las dependencias necesarias antes de comenzar ejecutando el siguiente comando dentro de la carpeta de tu proyecto:
language
npm install playwright playwright-extra
Cabe destacar que el framework playwright-extra
tiene el complemento Stealth.
Para mejorar Playwright, usa playwright-extra
para iniciar un navegador Chrome sin cabeza y chromium.use(pluginStealth)
para habilitar puppeteer-extra-plugin-stealth
. Este conjunto de tecnologías ofrece más salvaguardas para dificultar que los sitios web identifiquen tu raspador web.
language
const { chromium } = require('playwright-extra')
// Carga el complemento stealth y usa los valores predeterminados (todos los trucos para ocultar el uso de playwright)
const pluginStealth = require("puppeteer-extra-plugin-stealth");
// Usa stealth
chromium.use(pluginStealth)
// Eso es todo, el resto es el uso de playwright como de costumbre 😊
chromium.launch({ headless: true }).then(async browser => {
// Crea una nueva página
const page = await browser.newPage()
// Ve al sitio web
await page.goto('https://www.scrapeless.com/')
// Espera a que la página se descargue
await page.waitForTimeout(1000);
// Toma una captura de pantalla
await page.screenshot({ path: 'screen.png'})
// Cierra el navegador
console.log('Todo listo, revisa la captura de pantalla. ✨')
await browser.close()
})
Nuestro sitio web está preparado para el raspado cuando se carga una nueva página utilizando browser.newPage()
y se ha llamado a un método page.goto()
.
Conclusión
Puede ser difícil eludir CAPTCHA utilizando Playwright porque este obstáculo conocido está diseñado para detener el acceso automático a los sitios web. Sin embargo, podrá raspar los datos deseados si cuenta con las herramientas y bibliotecas adecuadas.
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.