Como usar proxies gratuitos com o Puppeteer

Como usar proxies gratuitos com o Puppeteer

Compreendendo proxies no contexto do Puppeteer

Puppeteer, o kit de ferramentas do marionetista para o Chrome, faz piruetas pelo palco digital com graça — mas às vezes sua dança precisa usar uma capa, uma máscara: o proxy. Proxies gratuitos, aqueles fantasmas efêmeros espalhados pela web, podem proteger seu IP ou desbloquear conteúdo com bloqueio regional. Mas, como acontece com todos os presentes da cornucópia da internet, eles têm dois gumes — frágeis, muitas vezes não confiáveis e, às vezes, um canto de sereia para os incautos.

Tabela 1: Tipos de proxy gratuitos e seus prós e contras

Tipo de proxy Descrição Prós Contras
HTTP Roteia apenas tráfego HTTP Simples, amplamente suportado Sem HTTPS, menos seguro
HTTPS/SSL Protege o tráfego HTTP com SSL/TLS Seguro e criptografado Às vezes mais lento, mais raro
SOCKS4/5 Roteia qualquer tráfego (TCP), não apenas HTTP Versátil, anônimo O marionetista precisa de configuração extra
Transparente Revela seu IP para o servidor de destino Fácil de encontrar Sem anonimato
Anônimo Oculta seu IP, mas se identifica como um proxy Privacidade básica Ainda pode estar bloqueado
Elite/Alto Anônimo Oculta seu IP, não se identifica como um proxy Melhor privacidade Mais difícil de encontrar

Etapa 1: Coleta de proxies gratuitos

Comecemos pela fonte: a curadoria de uma lista de proxies. Muitos agregadores online, como Lista de Proxy Gratuita, espalham tabelas de IPs e portas, assim:

Endereço IP Porta Protocolo Anonimato País 195.154.161.130 8080 HTTP Elite FR 103.216.82.198 6667 HTTPS Anônimo IN

Para os intrépidos, é recomendável automatizar a recuperação e validação de proxy — para que seu script não tropece em um endereço morto e entre em desespero digital.

Etapa 2: Configurando o Puppeteer para usar um proxy

O encantamento é simples, mas a magia é precisa. O marionetista aceita um --servidor proxy argumento no lançamento do navegador:

const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch({ args: ['--proxy-server=195.154.161.130:8080'] // Substitua pelo seu proxy }); const page = await browser.newPage(); await page.goto('https://httpbin.org/ip'); console.log(await page.content()); await browser.close(); })();

Com isso, a marionete dança atrás de uma nova máscara.

Etapa 3: Autenticação — O Ritual das Credenciais de Proxy

Alguns proxies exigem tributo: um nome de usuário e uma senha. O Titereiro, sempre o maestro complacente, pode fornecê-los via página.autenticar:

const browser = await puppeteer.launch({ args: ['--proxy-server=proxy.example.com:3128'] }); const page = await browser.newPage(); await page.authenticate({ nome de usuário: 'meuusuário', senha: 'minhasenha' }); await page.goto('https://httpbin.org/ip');

Invoque isso antes de sua primeira navegação — para que os porteiros não impeçam sua entrada.

Etapa 4: Girando pelas sombras — usando vários proxies

Confiar em um representante solo é arrogância; os sábios orquestram uma rotação. Aqui está uma coreografia minimalista, percorrendo uma série de representantes:

const proxies = [ '195.154.161.130:8080', '103.216.82.198:6667', // ... mais proxies ]; para (const proxy de proxies) { const navegador = await puppeteer.launch({ args: [`--proxy-server=${proxy}`] }); const página = await navegador.newPage(); await página.goto('https://httpbin.org/ip'); console.log(`Proxy ${proxy}:`, await página.content()); await navegador.close(); }

Para balés mais sofisticados, considere randomização, verificações de saúde e recuperação de erros.

Etapa 5: Testando e validando a eficácia do proxy

A promessa de um proxy é tão passageira quanto um sonho de verão. Sempre teste antes de confiar:

  • Use pontos de extremidade como https://httpbin.org/ip ou https://api.ipify.org para confirmar sua camuflagem de IP.
  • Observe os tempos de resposta — proxies gratuitos geralmente são lentos ou caprichosos.
  • Implemente tempos limite e novas tentativas em seus scripts.

Tabela 2: Lista de verificação de validação de proxy

Teste Exemplo de implementação do Puppeteer
Mudança de IP Visita https://httpbin.org/ip e analisar a resposta
Suporte HTTP(S) Tente URLs HTTP e HTTPS
Latência Medir Data.agora() antes e depois da navegação
Detecção de Blocos Verifique se há HTTP 403/429 ou CAPTCHAs nas respostas
Autenticação por proxy Teste com/sem credenciais, se necessário

Etapa 6: Lidando com falhas de proxy e recuperação de erros

O caminho é cheio de perigos; seu roteiro deve ser resiliente:

try { await page.goto('https://example.com', {timeout: 30000}); } catch (error) { console.log('Proxy failed:', proxy, error.message); // Opcionalmente, tente novamente com um novo proxy }

Considere automatizar a remoção do proxy do seu pool se ele falhar repetidamente, para evitar loops infinitos.

Reflexões sobre Segurança e Ética

Proxies gratuitos são flores silvestres — lindos, mas às vezes cheios de toxinas. Nunca envie dados confidenciais por meio de proxies não confiáveis; farejadores podem estar à espreita do outro lado. Use apenas para navegação pública ou não confidencial. E sempre, no espírito dos filósofos franceses, respeite o robots.txt e os direitos digitais comuns.

Tabela 3: Proxies gratuitos vs. proxies pagos

Aspecto Proxies grátis Proxies pagos
Confiabilidade Baixo, frequentemente offline Alto tempo de atividade garantido
Velocidade Variável, muitas vezes lento Rápido e consistente
Anonimato Questionável Forte, configurável
Segurança Não confiável, arriscado Confiável, suporte disponível
Custo Livre Assinatura ou pagamento por uso
Longevidade De curta duração Estável a longo prazo

Apêndice: Automatizando a Busca da Lista de Proxy

Um toque poético para o automatizador: busque novos proxies diariamente com um simples axios solicitar e analisar com Cheerio:

const axios = require('axios'); const cheerio = require('cheerio'); função assíncrona fetchProxies() { const res = await axios.get('https://free-proxy-list.net/'); const $ = cheerio.load(res.data); const proxies = []; $('#proxylisttable tbody tr').each((i, row) => { const cols = $(row).find('td'); const ip = $(cols[0]).text(); const port = $(cols[1]).text(); const https = $(cols[6]).text() === 'yes'; proxies.push(`${ip}:${port}`); }); return proxies; }

Deixe que seus scripts inspirem o ar mais fresco dos prados proxy todas as manhãs e exalem suas automações da web com sutileza e elegância.

Théophile Beauvais

Théophile Beauvais

Analista de Proxy

Théophile Beauvais é um Proxy Analyst de 21 anos na ProxyMist, onde é especialista em curadoria e atualização de listas abrangentes de servidores proxy do mundo todo. Com uma aptidão inata para tecnologia e segurança cibernética, Théophile se tornou um membro essencial da equipe, garantindo a entrega de servidores proxy SOCKS, HTTP, elite e anônimos confiáveis gratuitamente para usuários do mundo todo. Nascido e criado na pitoresca cidade de Lyon, a paixão de Théophile por privacidade digital e inovação foi despertada em tenra idade.

Comentários (0)

Ainda não há comentários aqui, você pode ser o primeiro!

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *