POR QUÉ PUPPETEER + PROXY POLAND
Puppeteer es la biblioteca oficial de Google para Node.js para controlar Chrome headless. Combinado con los proxies móviles 4G dedicados de Proxy Poland, Puppeteer se convierte en una herramienta poderosa para web scraping, testing y automatización que evita incluso los sistemas anti-bot más agresivos.
INSTRUCCIONES DE CONFIGURACIÓN
Instale Puppeteer
Instale Puppeteer en su proyecto Node.js:
npm install puppeteer # or for minimal install: npm install puppeteer-core
Obtenga las Credenciales del Proxy
Regístrese en proxypoland.com y obtenga su IP de proxy, puerto, usuario y contraseña desde el panel de control.
Configuración Básica de Proxy
Inicie Puppeteer con proxy SOCKS5:
const puppeteer = require('puppeteer');
const browser = await puppeteer.launch({
args: [
'--proxy-server=socks5://proxy-ip:port',
'--no-sandbox',
],
});
const page = await browser.newPage();
// Authenticate with proxy
await page.authenticate({
username: 'your-username',
password: 'your-password',
});
await page.goto('https://httpbin.org/ip');
const content = await page.content();
console.log(content);
await browser.close();Alternativa con Proxy HTTP
Usando proxy HTTP con autenticación:
const browser = await puppeteer.launch({
args: ['--proxy-server=http://proxy-ip:port'],
});
const page = await browser.newPage();
await page.authenticate({
username: 'your-username',
password: 'your-password',
});
await page.goto('https://example.com');Modo Stealth + Proxy
Use puppeteer-extra para navegación stealth:
const puppeteer = require('puppeteer-extra');
const StealthPlugin =
require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());
const browser = await puppeteer.launch({
args: ['--proxy-server=socks5://proxy-ip:port'],
headless: 'new',
});
const page = await browser.newPage();
await page.authenticate({
username: 'user', password: 'pass'
});
// Now scrape with stealth + mobile proxy
await page.goto('https://target-site.com');Rotación de IP Entre Páginas
Rote la IP usando la API de Proxy Poland:
const axios = require('axios');
async function rotateIP() {
const response = await axios.get(
'https://proxy-ip:port/rotate',
{ auth: { username: 'user', password: 'pass' } }
);
console.log('New IP:', response.data);
}
// Rotate between scraping sessions
await rotateIP();
await page.goto('https://next-target.com');Verifique que el Proxy Funciona
Prueba rápida para confirmar la conexión del proxy:
const page = await browser.newPage();
await page.authenticate({
username: 'user', password: 'pass'
});
await page.goto('https://httpbin.org/ip');
const ip = await page.$eval(
'pre', el => el.textContent
);
console.log('Proxy IP:', JSON.parse(ip).origin);
// Should show Polish mobile IPCONSEJOS PRO
Use puppeteer-extra-plugin-stealth para sitios con detección avanzada de bots
Configure el viewport a dimensiones móviles para scraping específico de móvil
Implemente intercepción de solicitudes para bloquear recursos innecesarios (imágenes, CSS) para scraping más rápido
Use page.waitForNavigation() después de acciones para asegurar que las páginas carguen completamente a través del proxy
Para alta concurrencia, lance múltiples instancias de navegador con diferentes proxies
IDEAL PARA
FAQ
¿Es Puppeteer mejor que Selenium para uso con proxies?+
Puppeteer tiene soporte nativo de proxy que es más fácil de configurar que Selenium. También tiene page.authenticate() integrado para autenticación de proxy. Para proyectos Node.js, Puppeteer es generalmente la mejor opción.
¿Puedo ejecutar Puppeteer en modo headless con estos proxies?+
Sí. Use headless: "new" en las opciones de lanzamiento. El proxy funciona de forma idéntica en modos headless y con interfaz. Para stealth, agregue puppeteer-extra-plugin-stealth.
¿Cómo manejo CAPTCHAs al hacer scraping a través de proxies móviles?+
Las IPs móviles reducen significativamente la frecuencia de CAPTCHAs. La mayoría de los sitios muestran menos CAPTCHAs a IPs de operadores móviles. Para los CAPTCHAs restantes, integre un servicio de resolución como 2Captcha o use plugins stealth.
¿Puedo ejecutar múltiples instancias de Puppeteer con diferentes proxies?+
Sí. Lance instancias de navegador separadas, cada una con un proxy diferente de Proxy Poland en los argumentos. Esto es ideal para scraping paralelo con aislamiento de IP.
¿Y Playwright — también funciona con estos proxies?+
Sí. Playwright tiene soporte integrado de proxy: browser.launch({ proxy: { server: "socks5://ip:puerto", username: "usuario", password: "contraseña" } }). Las mismas credenciales de proxy funcionan tanto con Puppeteer como con Playwright.