POR QUE PUPPETEER + PROXY POLAND
O Puppeteer é a biblioteca oficial do Google para Node.js para controlar o Chrome headless. Combinado com os proxies móveis 4G dedicados do Proxy Poland, o Puppeteer se torna uma ferramenta poderosa para web scraping, testes e automação que contorna até os sistemas anti-bot mais agressivos.
INSTRUÇÕES DE CONFIGURAÇÃO
Instale o Puppeteer
Instale o Puppeteer no seu projeto Node.js:
npm install puppeteer # or for minimal install: npm install puppeteer-core
Obtenha as Credenciais do Proxy
Cadastre-se em proxypoland.com e obtenha seu IP de proxy, porta, usuário e senha no painel de controle.
Configuração Básica de Proxy
Inicie o Puppeteer com 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 com Proxy HTTP
Usando proxy HTTP com autenticação:
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 navegação 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');Rotação de IP Entre Páginas
Rotacione o IP usando a API do 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 o Proxy Funciona
Teste rápido para confirmar a conexão do 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 IPDICAS PRO
Use puppeteer-extra-plugin-stealth para sites com detecção avançada de bots
Configure o viewport para dimensões móveis para scraping específico de celular
Implemente interceptação de requisições para bloquear recursos desnecessários (imagens, CSS) para scraping mais rápido
Use page.waitForNavigation() após ações para garantir que as páginas carreguem completamente através do proxy
Para alta concorrência, lance múltiplas instâncias de navegador com proxies diferentes
FUNCIONA BEM PARA
FAQ
O Puppeteer é melhor que o Selenium para uso com proxies?+
O Puppeteer tem suporte nativo de proxy mais fácil de configurar que o Selenium. Também tem page.authenticate() integrado para autenticação de proxy. Para projetos Node.js, o Puppeteer é geralmente a melhor escolha.
Posso executar o Puppeteer em modo headless com estes proxies?+
Sim. Use headless: "new" nas opções de lançamento. O proxy funciona de forma idêntica nos modos headless e com interface. Para stealth, adicione puppeteer-extra-plugin-stealth.
Como lidar com CAPTCHAs ao fazer scraping através de proxies móveis?+
IPs móveis reduzem significativamente a frequência de CAPTCHAs. A maioria dos sites exibe menos CAPTCHAs para IPs de operadoras móveis. Para os CAPTCHAs restantes, integre um serviço de resolução como 2Captcha ou use plugins stealth.
Posso executar múltiplas instâncias do Puppeteer com proxies diferentes?+
Sim. Lance instâncias de navegador separadas, cada uma com um proxy diferente do Proxy Poland nos argumentos. Ideal para scraping paralelo com isolamento de IP.
E o Playwright — também funciona com estes proxies?+
Sim. O Playwright tem suporte integrado de proxy: browser.launch({ proxy: { server: "socks5://ip:porta", username: "usuário", password: "senha" } }). As mesmas credenciais de proxy funcionam tanto com Puppeteer quanto com Playwright.