ACCESIBLES
PRODUCTO
SOLUCIONES
por casos de uso
AI Plomo GestiónFacturaciónRedes socialesGestión de proyectos
Gestión de datos por sector
Más información
BlogPlantillasVideosYouTubeRECURSOS
COMUNIDADES Y REDES SOCIALES
SOCIOS
¿Quiere evitar los sistemas de detección de bots mientras automatiza? Chrome? La puppeteer-extra-plugin-stealth
es una herramienta que ayuda a ocultar las huellas de automatización, lo que dificulta que los sitios web detecten bots.
navigator.webdriver
) e imita el comportamiento del navegador real.Puppeteer
, puppeteer-extra
, y el complemento oculto a través de npm or HiloUtilice el complemento oculto para configurar su navegador para que se comporte como un usuario real.import puppeteer from 'puppeteer-extra';
import StealthPlugin from 'puppeteer-extra-plugin-stealth';
puppeteer.use(StealthPlugin());
(async () => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://bot.sannysoft.com');
await browser.close();
})();
Esta herramienta es perfecta para automatizar tareas en sitios web con detección estricta de bots. Aprende a configurarla, optimizar su configuración y simular un comportamiento humano para pasar desapercibido.
Para comenzar, deberá instalar los paquetes necesarios y configurarlos para minimizar la detección durante la automatización. Esta sección abarca el proceso de instalación, la configuración inicial y las pruebas para garantizar que todo funcione correctamente.
Primero, instale Titiritero, Titiritero adicional, y el Plugin oculto. Abra su terminal y ejecute el siguiente comando:
npm install puppeteer puppeteer-extra puppeteer-extra-plugin-stealth
Si está utilizando Yarn, utilice este comando en su lugar:
yarn add puppeteer puppeteer-extra puppeteer-extra-plugin-stealth
Tras la instalación, configura tu archivo JavaScript para integrar el complemento oculto. Este es el código que necesitas:
import puppeteer from 'puppeteer-extra';
import StealthPlugin from 'puppeteer-extra-plugin-stealth';
puppeteer.use(StealthPlugin());
(async () => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://nowsecure.nl/');
await browser.close();
})();
Importante: Asegúrese de importar Puppeteer desde 'puppeteer-extra'
en lugar de 'puppeteer'
para acceder a la funcionalidad añadida.
Una vez que haya completado la configuración, es momento de verificar que todo funcione correctamente.
Ejecute estas pruebas para confirmar que su configuración funciona como se espera:
Para una verificación rápida, utilice el siguiente script:
(async () => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://bot.sannysoft.com');
await page.waitForTimeout(5000);
await page.screenshot({ path: 'stealth-test.png' });
await browser.close();
})();
Este script tomará una captura de pantalla de la página de prueba. Revísala para comprobar si tu navegador funciona como un Chrome normal sin mostrar señales de automatización.
Una vez que su configuración pase estas pruebas, estará listo para sumergirse en las funciones avanzadas del complemento, que se tratan en la siguiente sección.
La puppeteer-extra-plugin-stealth
Utiliza diversas técnicas para hacer que la navegación automatizada sea más difícil de detectar.
El complemento modifica las propiedades clave del navegador para simular un navegador Chrome típico. Estas incluyen:
HeadlessChrome
agente de usuario con uno más naturalAccept-Language
cabecerasnavigator.vendor
para que coincida con el comportamiento estándar de ChromeEstos cambios ayudan a crear un perfil de navegador que imita al de un usuario normal, no al de un bot. Además, el complemento emplea técnicas antihuella digital para reducir aún más el riesgo de detección.
Feature | Método | Propósito |
---|---|---|
Emulación del procesador | Limita los procesadores lógicos a 4 | Imita el hardware de usuario típico |
Emulación de complementos | Simulacros navigator.mimeTypes y complementos |
Imita la funcionalidad estándar de Chrome |
Propiedades de la ventana | Añade outerWidth y outerHeight |
Completa la simulación del navegador. |
Propiedades del proveedor | Ajusta el identificador de Google de Chrome | Ayuda a evitar la detección de automatización |
Estos métodos garantizan que el navegador se comporte de una manera que se alinea con lo que los sitios web esperan de los usuarios reales.
Para disfrazar aún más la automatización, el complemento elimina o modifica los signos reveladores de la actividad del bot:
navigator.webdriver
perfectachrome.app
y chrome.csi
objetos que están presentes en los navegadores Chrome habitualessourceurl
atributo en los scripts de Puppeteerpermissions
Propiedades para que coincidan con el comportamiento natural del navegadorEl complemento también ayuda a reducir los desafíos de CAPTCHA al mantener un comportamiento consistente del navegador y administrar las sesiones de forma eficaz. Esto crea un patrón de navegación que se alinea con la actividad humana, lo que le permite eludir la mayoría de las pruebas de detección de bots en plataformas como sannysoft.com. Sin embargo, los sistemas antibots avanzados, como los utilizados por Cloudflare, aún puede detectar la automatización en algunos casos.
La configuración personalizada le permite modificar las configuraciones ocultas y el comportamiento del navegador, ayudándole a evitar la detección de manera más efectiva.
Puppeteer Stealth te permite administrar sus módulos de evasión para sitios web específicos. Puedes habilitarlos o deshabilitarlos según tus necesidades:
const StealthPlugin = require('puppeteer-extra-plugin-stealth')
const stealth = StealthPlugin({
webglVendor: "Google Inc. (Intel)",
webglRenderer: "Intel Iris OpenGL Engine",
navigator: {
platform: "MacIntel",
languages: ["en-US", "en"]
}
})
Después de configurar los módulos ocultos, puede ajustar el comportamiento del navegador para imitar mejor la actividad real del usuario.
Ajuste los parámetros del navegador para imitar una experiencia de navegación genuina:
Categoría: Crecimiento positivo | Opciones | Propósito |
---|---|---|
Identidad de usuario | Agente de usuario, plataforma, idiomas | Crea una identidad de navegador consistente |
Perfil de hardware | Proveedor de WebGL, Dimensiones de pantalla | Imita las características reales del dispositivo. |
Entorno de ejecución | Objetos de tiempo de ejecución de Chrome, propiedades del navegador | Emula el comportamiento normal del navegador. |
Introduzca retrasos naturales entre acciones para que la automatización sea menos detectable:
const randomDelay = (min, max) => {
return Math.floor(Math.random() * (max - min + 1) + min);
}
await page.waitForTimeout(randomDelay(1000, 3000));
Agregar estos retrasos ayuda a que su automatización se asemeje al comportamiento humano.
El uso de proxies durante el inicio del navegador mejora el anonimato:
const browser = await puppeteer.launch({
args: [
`--proxy-server=http://proxy.example.com:8080`,
'--disable-features=IsolateOrigins,site-per-process'
]
});
Probablemente sea imposible evitar todas las formas de detectar el cromo sin cabeza, pero debería ser posible dificultarlo tanto que resulte prohibitivo en costos o genere demasiados falsos positivos como para que sea viable. — TiZho, colaborador de GitHub
Rote los servidores proxy y configure la conmutación por error automática para mantener una conectividad fiable. Estas configuraciones ayudan a minimizar los riesgos de detección y a garantizar un rendimiento estable.
Para mantener las sesiones automatizadas bajo el radar, una planificación y ejecución cuidadosas son clave.
Simule una navegación realista agregando retrasos y acciones aleatorias:
async function emulateHumanBehavior(page) {
// Random scrolling behavior
await page.evaluate(() => {
window.scrollBy({
top: Math.random() * 500,
behavior: 'smooth'
});
});
// Random pauses between actions
await page.waitForTimeout(1500 + Math.random() * 2500);
}
Patrón de comportamiento | Implementación | Propósito |
---|---|---|
Movimiento del raton | Curvas y velocidades aleatorias | Imita el movimiento natural del cursor. |
Interacción de la página | Variar la profundidad de desplazamiento y las pausas | Simula hábitos de lectura |
Tiempo de navegación | Retrasos aleatorios (1.5–4 segundos) | Evita patrones de tiempo predecibles |
Velocidad de entrada | Intervalos de pulsaciones de teclas aleatorios | Imita el comportamiento de escritura humano |
Estas interacciones simuladas funcionan junto con las configuraciones descritas anteriormente.
La gestión adecuada de sesiones garantiza la coherencia de la configuración oculta. Utilice el almacenamiento persistente para guardar las cookies y los datos de sesión:
const browserContext = await browser.createIncognitoBrowserContext({
userDataDir: './sessions/user1',
persistentContext: true
});
También puedes gestionar las cookies de forma eficaz:
// Remove specific cookies but keep session-critical data
await page.deleteCookie({
name: '_ga',
domain: '.example.com'
});
Combine las técnicas anteriores con estos pasos prácticos para una mejor automatización:
const maxRetries = 3;
const baseDelay = 2000;
async function fetchWithRetry(page, url) {
for (let i = 0; i < maxRetries; i++) {
try {
return await page.goto(url);
} catch (error) {
await page.waitForTimeout(baseDelay * Math.pow(2, i));
}
}
}
Probablemente sea imposible evitar todas las formas de detectar el cromo sin cabeza, pero debería ser posible dificultarlo tanto que resulte prohibitivo en costos o genere demasiados falsos positivos como para que sea viable. — TiZho, colaborador de GitHub
Manténgase al tanto de la evolución de los métodos de detección antibots y ajuste su configuración según sea necesario. Estas prácticas complementan las técnicas de sigilo descritas anteriormente en este artículo.
A continuación se muestra un resumen rápido de los puntos principales y consejos para su uso. Titiritero-extra-plugin-stealth de manera efectiva.
Complemento extra sigiloso de Puppeteer Ayuda a automatizar la navegación sin ser marcado. Funciona ocultando los marcadores de automatización mediante módulos de evasión integrados.
Algunas características clave incluyen:
navigator.webdriver
.Para perfeccionar su configuración de automatización, tenga en cuenta estas estrategias:
Area de enfoque | Estrategia | Resultado |
---|---|---|
Módulos de evasión | Habilite solo las funciones que necesita | Menor riesgo de detección, mejor rendimiento |
Gestión de errores | Utilice la lógica de reintento con retroceso exponencial | Manejo más confiable de problemas temporales |
Manejo de sesiones | Utilice contextos de navegador persistentes | Perfil de sigilo consistente en todas las sesiones |
Sugerencias adicionales:
Aunque ninguna configuración es 100% infalible, combinar múltiples tácticas de evasión dificulta considerablemente la detección. El éxito depende de una configuración cuidadosa y de actualizaciones periódicas de los métodos. Estos consejos, junto con las funciones del plugin, sientan las bases para una automatización indetectable.