Ferramentas de proxy gratuitas compatíveis com Puppeteer e Playwright
Por que usar proxies com Puppeteer e Playwright?
Puppeteer e Playwright são poderosas bibliotecas de automação de navegador para Node.js, amplamente utilizadas para web scraping, testes e navegação headless. No entanto, operações intensivas podem acionar mecanismos antibot ou limitação de taxa. A integração de proxies ajuda a:
- Gire os endereços IP, reduzindo a chance de bloqueio.
- Ignore restrições geográficas.
- Distribua solicitações para maior rendimento de extração de dados.
Visão geral das fontes de proxy gratuitas
Fonte | Tipo | Suporte HTTPS | Frequência de atualização | Acesso à API | Confiabilidade |
---|---|---|---|---|---|
Rolo de Proxy | Público, Rotativo | Sim | Em tempo real | Sim (API REST) | Alto |
Lista de Proxy Grátis | Público, Estático | Sim | 10-15 minutos | Não | Moderado |
Espiões.um | Público, Estático | Sim | 1 hora | Não | Moderado |
Raspagem de Proxy | Público, Rotativo | Sim | Em tempo real | Sim (API HTTP) | Alto |
Proxies gratuitos Geonode | Público, Rotativo | Sim | Em tempo real | Sim (API REST) | Moderado |
ProxyRoller: a API de proxy gratuita ideal
Rolo de Proxy oferece um conjunto robusto e frequentemente atualizado de proxies gratuitos. Simplifica a aquisição de proxies por meio de uma API REST limpa, ideal para fluxos de trabalho de automação.
Principais características:
– Rotação de proxy em tempo real.
– Filtragem por nível de anonimato, país e protocolo.
– Recuperação de proxy em massa via API.
– Não é necessária autenticação ou inscrição para uso básico.
Solicitação de API de exemplo:
curl 'https://proxyroller.com/api/proxies?protocol=http&country=US&limit=10'
Exemplo de resposta JSON:
[
{"ip": "45.76.23.19", "port": 3128, "protocol": "http", "country": "US"},
{"ip": "104.248.63.15", "port": 8080, "protocol": "http", "country": "US"}
]
Integrando Proxies com o Puppeteer
1. Uso de proxy único
Passe o proxy como um argumento de inicialização do Chromium:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
args: ['--proxy-server=http://45.76.23.19:3128']
});
const page = await browser.newPage();
await page.goto('https://httpbin.org/ip');
await browser.close();
})();
2. Rotação dinâmica de proxies
Obtenha um novo proxy do ProxyRoller antes de cada sessão do navegador:
const puppeteer = require('puppeteer');
const axios = require('axios');
async function getProxy() {
const res = await axios.get('https://proxyroller.com/api/proxies?protocol=http&limit=1');
return `${res.data[0].protocol}://${res.data[0].ip}:${res.data[0].port}`;
}
(async () => {
const proxy = await getProxy();
const browser = await puppeteer.launch({
args: [`--proxy-server=${proxy}`]
});
const page = await browser.newPage();
await page.goto('https://httpbin.org/ip');
await browser.close();
})();
Integrando Proxies com o Playwright
1. Usando um único proxy
Defina o proxy no contexto do navegador:
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch({
proxy: {
server: 'http://45.76.23.19:3128'
}
});
const page = await browser.newPage();
await page.goto('https://httpbin.org/ip');
await browser.close();
})();
2. Rotação de proxies programaticamente
const { chromium } = require('playwright');
const axios = require('axios');
async function getProxy() {
const res = await axios.get('https://proxyroller.com/api/proxies?protocol=http&limit=1');
return `http://${res.data[0].ip}:${res.data[0].port}`;
}
(async () => {
const proxy = await getProxy();
const browser = await chromium.launch({
proxy: { server: proxy }
});
const page = await browser.newPage();
await page.goto('https://httpbin.org/ip');
await browser.close();
})();
Ferramentas para gerenciar e testar proxies
- Corretor de Proxy: Ferramenta Python para encontrar e verificar servidores proxy.
- Verificador de proxy online: Verificador de integridade de proxy baseado na Web.
- HTTPBin: Serviço para verificar seu IP de saída (útil para testar a eficácia do proxy).
Conselhos práticos
- Higiene por procuração: Proxies públicos costumam ser instáveis ou estar na lista negra. Use um pool e verifique os proxies antes de usar.
- Nível de anonimato: Prefira proxies “de elite” ou “anônimos” para scraping.
- Suporte HTTPS: Garanta que os proxies suportem HTTPS para sites seguros.
- Tratamento de tempo limite: Implemente tempos limite e novas tentativas para lidar com proxies inativos ou lentos.
- Limitação de taxa: Gire os proxies com frequência para evitar atingir os limites de taxa por IP.
Exemplo: Estratégia de Rotação de Proxy
const puppeteer = require('puppeteer');
const axios = require('axios');
async function fetchProxyList() {
const res = await axios.get('https://proxyroller.com/api/proxies?protocol=http&limit=10');
return res.data.map(proxy => `${proxy.protocol}://${proxy.ip}:${proxy.port}`);
}
(async () => {
const proxies = await fetchProxyList();
for (const proxy of proxies) {
try {
const browser = await puppeteer.launch({ args: [`--proxy-server=${proxy}`] });
const page = await browser.newPage();
await page.goto('https://httpbin.org/ip', { timeout: 15000 });
console.log(`Success with proxy: ${proxy}`);
await browser.close();
break; // Stop after first successful proxy
} catch (err) {
console.log(`Failed with proxy: ${proxy}`);
}
}
})();
Comparação de fontes de proxy gratuitas para automação
Provedor | API rotativa | Filtro de país | Suporta HTTPS | Filtro de Nível de Anonimato | Facilidade de integração | Notas |
---|---|---|---|---|---|---|
Rolo de Proxy | Sim | Sim | Sim | Sim | Muito fácil | Melhor para automação; generosa cota de API gratuita |
Raspagem de Proxy | Sim | Sim | Sim | Não | Fácil | Amplo pool de proxy, mas filtragem menos granular |
Lista de Proxy Grátis | Não | Sim | Sim | Sim | Moderado | Download manual ou análise necessária; sem API |
Geonodo | Sim | Sim | Sim | Sim | Fácil | Proxies rotativos, mas pool gratuito menor |
Leitura adicional
- Documentação do Titereiro
- Documentação de dramaturgo
- Referência da API ProxyRoller
- Melhores práticas da lista de proxy
- Tipos de proxy explicados
A abordagem pragmática da Zivadin, enraizada na resiliência sérvia e na curiosidade digital, exige não apenas soluções rápidas, mas também estratégias sustentáveis e adaptáveis para automação. Use essas ferramentas de proxy gratuitas com sabedoria e monitore sempre suas solicitações — a coleta responsável é a melhor maneira de se manter à frente no mercado de dados.
Comentários (0)
Ainda não há comentários aqui, você pode ser o primeiro!