Saltar para o conteúdo
Comece grátis
Voltar ao blogue

As melhores listas de proxies gratuitos para web scraping, classificadas (2026)

Robert MunceanuÚltima atualização em 26 min read
As melhores listas de proxies gratuitos para web scraping, classificadas (2026)
Resumo: As melhores listas de proxies gratuitos para web scraping são a da ProxyScrape para scripts, a da Geonode para tempo de atividade e filtros ASN, e a monosans/proxy-list no GitHub para alimentar pipelines em texto simples. Trate cada lista como um conjunto de candidatos, porque só uma pequena parte dos proxies listados funciona num dado dia, e nunca envie logins ou páginas de pagamento através de um proxy gratuito.

As listas de proxies gratuitos são o ponto de partida para a maioria dos scrapers, quer se trate de alimentar um scraper de proxies ou um pequeno script em Python. Abaixo encontram-se os sites de proxies gratuitos que vale a pena visitar, classificados por ordem de prioridade, com a tarefa de scraping a que cada um se adequa e uma indicação clara de quando os proxies gratuitos deixam de valer o seu tempo. É de esperar que a maioria das entradas falhe. Em qualquer dia, apenas uma pequena parte dos proxies listados funciona, de acordo com um estudo de 30 meses sobre serviços de proxy gratuitos. Encare cada lista como um conjunto de candidatos, e não como um conjunto de proxies que funcionam. Já está pronto para pagar? O nosso guia para escolher proxies para web scraping compara fornecedores pagos por tipo de tarefa e custo.

As melhores listas de proxies gratuitos por tarefa

  • Melhor lista gratuita geral para scripts: a lista de proxies gratuitos da ProxyScrape
  • Melhor para filtros de qualidade (tempo de atividade, ASN): lista de proxies gratuitos da Geonode
  • Melhor feed em texto simples para pipelines: monosans/proxy-list no GitHub
  • Melhor para uma seleção manual rápida: Free Proxy List
  • Melhor plano gratuito com um operador conhecido: plano gratuito da Webshare
  • Não recomendado para: inícios de sessão, páginas de pagamento ou qualquer coisa que não queira que um estranho leia

Como classificámos estas listas de proxies gratuitas?

Classificámos cada site de proxies gratuito com base no que publica sobre si próprio: com que frequência verifica os proxies, se é possível descarregar a lista em texto simples, JSON ou através de uma API sem necessidade de registo, a quantidade de dados que cada entrada contém e sinais de alerta, tais como verificações desatualizadas, endereços CDN ou exportações sujeitas a pagamento. Não encaminhámos tráfego através dos proxies listados.

Avaliámos a página de cada site com base em cinco critérios:

Critério

O que dá pontos

O que faz perder pontos

Atualização

Um intervalo de verificação indicado em minutos e uma indicação visível de «última verificação» em cada linha

Atualizações diárias ou horários de verificação com várias horas de atraso

Exportação sem registo

Texto simples, JSON, CSV ou um URL de API, gratuito e sem necessidade de conta

Apenas copiar e colar, portas renderizadas por script ou exportação com acesso pago

Dados por entrada

Protocolo, anonimato, suporte a HTTPS, tempo de atividade, latência, proprietário da rede (ASN)

Apenas IP e porta

Limpeza da lista

Linhas que parecem proxies reais nas portas esperadas

Linhas desatualizadas ou endereços de CDN listados como proxies

Transparência do operador

Um operador identificado, um método de verificação especificado, sem instaladores

Páginas com muitos anúncios, funis de VPN ou downloads para executar

Dois critérios de desempate resolveram casos duvidosos. Um feed filtrado e legível por máquina supera uma tabela web, e uma lista acompanhada no estudo de 30 meses recebe uma ligeira vantagem. Isso significa apenas que os investigadores consideraram que valia a pena recolher dados dessa fonte, não que seja segura.

Todas as listas utilizam as mesmas designações. Um proxy de elite oculta tanto o seu IP como o facto de estar a utilizar um proxy. Um proxy anónimo oculta o seu IP, mas revela-se através dos cabeçalhos. Um proxy transparente transmite o seu IP real, o que o torna inútil para a extração de dados. Os proxies HTTP reencaminham pedidos web simples, os proxies compatíveis com HTTPS podem abrir um túnel encriptado e os proxies SOCKS4 e SOCKS5 retransmitem ligações em bruto para praticamente qualquer cliente. O MDN explica como funcionam os servidores proxy e o tunelamento, e a nossa visão geral dos tipos de proxy para scraping abrange HTTP, SOCKS5, residenciais e de centro de dados.

As listas gratuitas mudam de hora a hora, por isso considere cada entrada abaixo como um instantâneo. Cada afirmação sobre um site é da responsabilidade do próprio site.

Quais são as melhores listas de proxies gratuitos para web scraping?

As melhores listas de proxies gratuitos para scraping na Web são a lista gratuita do ProxyScrape para feeds de API filtrados, a Geonode para filtros de tempo de atividade e ASN, a monosans/proxy-list no GitHub para ficheiros de texto simples verificados de hora a hora e a Free Proxy List para seleções manuais rápidas. Todas as listas gratuitas continuam a necessitar de testes, uma vez que a maioria das entradas deixa de funcionar em qualquer dia.

#

Lista de proxies gratuita

Formato

Atualizar o estado dos sites

Exportação gratuita

Ideal para

1

Lista gratuita do ProxyScrape

Tabela web + API gratuita + espelho no GitHub

A cada minuto

TXT, JSON, CSV, API

Feeds filtrados para scripts

2

Lista gratuita do Geonode

Tabela web + carregador de URLs

Recolha a cada minuto (a página também indicou ~23 min)

Transferência, URL

Filtragem por tempo de atividade e ASN

3

monosans/proxy-list

Ficheiros do GitHub

A cada hora

TXT, JSON

Pipelines e CI

4

Lista de proxies gratuitos

Tabela web + lista em bruto

A cada 10 minutos

Lista bruta

Seleções manuais rápidas

5

Lista de proxies gratuitos do Proxifly

Ficheiros do GitHub + npm

A cada 5 minutos

TXT, JSON

Volume por protocolo

6

Spys.one

Tabela web + lista de texto

«Em tempo real»

Lista de texto

Navegação por país e anónima

7

ProxyNova

Tabela web

A cada 60 segundos (a maioria testada a cada 15 minutos)

Nenhuma

Velocidade e tempo de atividade por país

8

ProxyDB

Tabela web

Não indicado

Nenhuma

Histórico de disponibilidade

9

hide.mn

Tabela web

Não indicado

Apenas pago

Filtros de anonimato num navegador

10

FreeProxy.World

Tabela web

Não indicado

Nenhum

Verificação cruzada de um IP

1. Lista de proxies gratuitos do ProxyScrape

Ideal para: scripts que necessitam de uma lista filtrada de forma regular.

Por que está classificado aqui: O site afirma que a lista é atualizada a cada minuto e verificada por sistemas automatizados, e abrange HTTP, HTTPS, SOCKS4 e SOCKS5. É possível filtrar por protocolo, anonimato, país e latência; depois, exportar para TXT, JSON ou CSV, aceder a uma API pública gratuita ou obter os dados a partir de um espelho no GitHub. Num estudo de 30 meses, o ProxyScrape foi uma das duas maiores fontes de proxies únicos e uma das duas com mais proxies a funcionar no primeiro teste.

Limitações: Os valores relativos ao tamanho e ao país apresentados na página mudam constantemente. A tabela é carregada por JavaScript, pelo que se recomenda utilizar a API em vez de extrair os dados da página.

Notas de risco: Tal como todas as listas aqui apresentadas, esta agrega proxies abertos provenientes de fontes públicas. O ProxyScrape também vende proxies pagos e promove-os na página. Prefere substituir os seus planos pagos? Veja como escolher um substituto para o ProxyScrape.

2. Lista de proxies gratuitos da Geonode

Ideal para: selecionar proxies com base em indicadores de qualidade.

Por que está classificada aqui: a Geonode publica os dados mais completos por entrada neste conjunto: protocolo, anonimato, percentagem de tempo de atividade, última verificação, velocidade, latência, um indicador de «aprovado pelo Google» e o proprietário da rede como ORG e ASN. Pode filtrar por intervalo de tempo de atividade e verificar a atualidade, carregando depois a lista filtrada através de um URL em vez de copiar linhas. As suas linhas também pareciam organizadas. A Geonode fez parte do conjunto de fornecedores do estudo de 30 meses em 2023.

Limitações: O título da página indica que a lista é atualizada a cada minuto, mas a mesma página também apresentou um cabeçalho «Última atualização há 23 min». Considere as indicações de atualização como aproximadas.

Notas de risco: O Geonode é um fornecedor comercial e a lista gratuita aparece ao lado de ofertas residenciais pagas. A coluna ASN é a sua melhor defesa: elimine entradas em redes que não esperaria encontrar, como um proxy «residencial» que se encontra num fornecedor de alojamento.

3. monosans/proxy-list (GitHub)

Ideal para: tarefas de CI e pipelines que requerem ficheiros simples.

Por que está aqui: O ficheiro README indica que um proxy tem de aceder a um URL real na íntegra para fazer parte da lista e que esta é verificada de novo a cada hora. Publica proxies HTTP, SOCKS4 e SOCKS5 como texto simples e como JSON, ordenados do mais rápido para o mais lento, com tempo de resposta, IP de saída, ASN e geolocalização para cada entrada. Não é necessário registar-se nem ter uma chave API, e o projeto está licenciado sob a licença MIT.

Limitações: A atualização de hora a hora é mais lenta do que as listas atualizadas a cada minuto acima referidas. É mantido por um único programador, pelo que não há garantia de serviço caso as atualizações cessem.

Notas de risco: Obtenha apenas os ficheiros de texto simples ou JSON através de HTTPS. Nunca execute código proveniente de um repositório de proxies que não tenha lido.

4. Free Proxy List (free-proxy-list.net)

Ideal para: uma seleção manual rápida para um teste pontual.

Por que está classificado aqui: O site afirma que os seus proxies gratuitos são «verificados e atualizados a cada 10 minutos», e cada linha apresenta o nível de anonimato, o suporte a HTTPS, um indicador do Google e a hora da última verificação. Uma lista em formato bruto permite copiar tudo de uma só vez. As linhas pareciam proxies reais em portas normais, e a Free Proxy List fez parte do conjunto de fornecedores do estudo de 30 meses durante todo o período de análise.

Limitações: A lista é fortemente orientada para HTTP. O download da sua aplicação ou API está associado a um produto pago de «lista de proxies», pelo que é mais complicado de automatizar do que os feeds acima referidos.

Notas de risco: Os menus do site promovem proxies pagos e outras ferramentas. Utilize a tabela e a lista em bruto e ignore o resto.

5. Proxifly free-proxy-list (GitHub)

Ideal para: ficheiros de grande volume divididos por protocolo (HTTP, HTTPS, SOCKS4, SOCKS5).

Por que está classificado aqui: O ficheiro README indica que o projeto obtém e valida proxies a cada 5 minutos e divide-os em ficheiros separados por protocolo e por país, pelo que pode obter apenas proxies SOCKS5, por exemplo. Também inclui um módulo npm para projetos Node.js.

Limitações: O número de proxies «funcionais» indicado no README está muito acima do que os estudos indicam como funcional num dia normal; por isso, interprete esse número como proxies recolhidos, e não como proxies que pode utilizar.

Notas de risco: O código está licenciado sob a GPL-3.0. Leia a licença antes de incluir o módulo npm num produto comercial e obtenha apenas os ficheiros de dados através de HTTPS.

6. Spys.one

Ideal para: navegação por país, porta e anonimato.

Por que está nesta posição: O Spys.one possui alguns dos filtros mais detalhados de qualquer lista gratuita. Pode mostrar apenas proxies de elite, anónimos ou transparentes, filtrar por país e porta e ver o tempo de atividade e a data de verificação em cada linha. A página mostra a hora de atualização do servidor, refere que as suas listas são «atualizadas em tempo real» e oferece uma versão em texto simples.

Limitações: As portas são apresentadas por script, pelo que a página é difícil de automatizar, e a interface é antiquada e confusa.

Notas de risco: O Spys.one oferece uma lista dedicada de proxies abertos em routers MikroTik. O estudo de 30 meses identificou software MikroTik em dezenas de milhares de IPs de proxy, muitos dos quais provavelmente são routers sequestrados. Encaminhar o seu scraper através do router comprometido de alguém constitui um problema ético, não apenas uma questão de velocidade ou fiabilidade. Ignore completamente essa lista.

7. ProxyNova

Ideal para: verificar a velocidade e o tempo de atividade por país antes de um teste manual.

Por que está aqui: A página indica que a lista é atualizada a cada 60 segundos e que a maioria dos proxies é testada pelo menos uma vez a cada 15 minutos. Cada linha mostra a velocidade, o tempo de atividade, o anonimato, o país e a última verificação.

Limitações: os endereços IP são apresentados por um script e não há opção de exportação, pelo que terá de copiá-los manualmente. Muitas das linhas visíveis apresentavam baixas percentagens de tempo de atividade.

Notas de risco: O ProxyNova é um site de ferramentas de uso geral. Ignore os downloads não relacionados.

8. ProxyDB

Ideal para: histórico médio de tempo de atividade e tempo de resposta.

Por que está classificado aqui: O ProxyDB tem filtros claros para HTTP, HTTPS, SOCKS5, anonimato e país. As suas colunas mostram o tempo de atividade médio e o tempo de resposta médio, em vez de um único instantâneo, o que ajuda a identificar proxies que se mantêm ativos há algum tempo.

Limitações: A maioria dos horários «verificados» visíveis datava de há muitas horas. Isso é demasiado desatualizado para a recolha de dados, a menos que volte a testar cada entrada por si próprio.

Notas de risco: Trata-se de um pequeno operador sem um método de verificação definido, pelo que não há forma de saber o que «verificado» significa neste contexto.

9. hide.mn (anteriormente hidemy.name)

Ideal para: filtrar por nível de anonimato num navegador.

Por que está classificado aqui: O site afirma que verifica os proxies quanto ao ping, tipo, país, velocidade de ligação, anonimato e tempo de atividade, e os seus filtros facilitam a exibição apenas do nível de anonimato pretendido. Fazia parte do conjunto de fornecedores do estudo de 30 meses sob o seu antigo nome, HideMyName.

Limitações: O site indica que a exportação de IP:Porta e o acesso à API requerem uma subscrição paga, pelo que o plano gratuito se limita a uma tabela web. Uma grande parte das linhas gratuitas visíveis encontrava-se nos intervalos de IP publicados pela Cloudflare, principalmente em portas web comuns. É improvável que esses endereços sejam proxies abertos reais.

Notas de risco: A empresa opera uma VPN, e a lista gratuita funciona como um canal de direcionamento para o seu serviço. O domínio hidemy.name redireciona agora para hide.mn.

10. FreeProxy.World

Ideal para: uma segunda opinião ao verificar um IP.

Por que ocupa esta posição: Oferece filtros abrangentes por tipo, anonimato, velocidade e porta, e afirma ter um grande número de proxies.

Limitações: Uma grande parte das linhas visíveis eram endereços do intervalo da Cloudflare na porta 80, que provavelmente não são proxies abertos genuínos e prejudicam a qualidade da lista, colocando-a no fim deste conjunto.

Notas de risco: Anúncios de ofertas de VPN e de «acesso premium» aparecem ao lado da tabela. Não clique neles.

Listas que deixámos de fora. O Open Proxy Space estava indisponível e várias listas outrora populares redirecionam agora para sites não relacionados ou não carregam. A TheSpeedX/PROXY-List no GitHub é atualizada diariamente, e o seu responsável afirma não estar a cargo dos proxies. Serve para praticar, mas está demasiado desatualizada para trabalhos reais.

Que lista de proxies gratuita deve utilizar para o seu trabalho de scraping?

Adapte a lista à tarefa. Utilize um feed de texto do GitHub ou a API do ProxyScrape quando um script precisar de proxies atualizados de forma programada, o Geonode ou o Spys.one quando precisar de um filtro por país ou de anonimato, e a Free Proxy List para um teste manual pontual. Para inícios de sessão, tarefas recorrentes ou alvos difíceis, nenhuma lista gratuita é adequada.

Tarefa

Melhor escolha

Segunda melhor opção

Porquê

Um script que atualiza os proxies antes de cada execução

Lista gratuita do ProxyScrape (API)

monosans/proxy-list

Legível por máquina, filtrável, com verificações frequentes

Teste específico por país

Geonode

Spys.one

Filtros por país, além de tempo de atividade e atualidade

SOCKS5 para um cliente que necessite

Proxifly

Geonode

Ficheiros e filtros por protocolo

Verificação manual rápida de uma página pública

Lista de proxies gratuitos

ProxyNova

Colunas «HTTPS» e «última verificação» num relance

Aprender as configurações de proxy no código

Plano gratuito do Webshare

Qualquer lista + o verificador abaixo

IPs estáveis, pelo que as falhas devem-se ao seu código, e não ao proxy

Testar um alvo real sem a complexidade da configuração do proxy

API do Scraper

—

Proxies, tentativas de repetição e renderização geridas por nós

Inícios de sessão, pagamentos e tarefas de produção recorrentes

Não há lista gratuita

—

Pague em vez disso (consulte a última secção)

Os navegadores headless, como o Playwright e o Puppeteer, agravam a situação. A maioria dos proxies gratuitos não suporta autenticação nem sessões estáveis, pelo que não é possível associar um contexto de navegador a um IP durante muito tempo. O carregamento de uma única página também se ramifica em dezenas de pedidos de scripts, imagens e tipos de letra, todos através do mesmo proxy. Se algum deles ficar bloqueado, a página deixa de funcionar, pelo que as taxas de falha multiplicam-se em vez de se equilibrarem.

Existem planos de proxy gratuitos que valha a pena experimentar em vez das listas?

Sim, se quiser responsabilização sem ter de pagar ainda. O plano gratuito do Webshare oferece 10 proxies partilhados e 1 GB de largura de banda mensal sem necessidade de cartão de crédito, e a nossa própria versão de avaliação da API do Scraper inclui 5 000 pedidos gratuitos com proxies geridos por nós. Ambos exigem uma conta, mas obtém um operador conhecido em vez de estranhos anónimos.

Plano gratuito do Webshare. A sua página de preços indica que o plano gratuito inclui 10 proxies partilhados e 1 GB de largura de banda mensal, com suporte para HTTP e SOCKS5, sem limite de tempo e sem necessidade de cartão de crédito. É ideal para aprendizagem e tarefas leves, porque uma falha significa que o problema está no seu código, e não num proxy inativo. Os limites esgotam-se rapidamente: 10 IPs e 1 GB não dão para muito, e os proxies são partilhados com outros utilizadores.

Versão de avaliação gratuita da WebScrapingAPI Scraper API. Esta é a nossa, e a versão de avaliação inclui 5 000 pedidos gratuitos. Basta enviar um URL e a Scraper API trata dos proxies, das tentativas de repetição e da renderização opcional em JavaScript, devolvendo depois a página. A renderização em JavaScript e a segmentação geográfica não implicam créditos adicionais, e as solicitações falhadas não são cobradas. Utilize-a para testar um alvo real antes de criar qualquer infraestrutura de proxies.

Não classificámos os períodos de teste curtos nem as demonstrações de fornecedores pagos, porque não são sites de proxies gratuitos. As ofertas de «proxies rotativos gratuitos» são quase sempre períodos de teste também, porque a rotação requer um conjunto mantido de IPs funcionais, cuja gestão tem custos. Eis como funciona a rotação de IPs na extração de dados, caso queira conhecer os mecanismos.

Quantos proxies de uma lista gratuita funcionam realmente?

Apenas uma pequena fração. Um estudo académico de 30 meses, que analisou mais de 640 000 proxies gratuitos de 11 sites de listas, revelou que, em média, cerca de 3,4% passavam na verificação num determinado dia, e os proxies compatíveis com HTTPS representavam, em média, apenas cerca de 2,5% do número que respondia via HTTP. Prepare-se para descartar a maioria das entradas em qualquer lista.

O estudo de 30 meses recolheu e testou proxies gratuitos diariamente, e o panorama não é totalmente desanimador. Cerca de 30,8% dos proxies que funcionaram pelo menos uma vez foram detetados como ativos ao longo de mais de 100 dias, pelo que alguns proxies gratuitos duram. Só não é possível saber antecipadamente quais são.

As listas também se sobrepõem muito mais do que as contagens declaradas sugerem. Numa análise em grande escala de proxies HTTP abertos, 144 349 entradas recolhidas de sites de listas revelaram-se apenas 65 871 proxies únicos. Os sites copiam das mesmas fontes públicas, pelo que um número maior numa página inicial não significa mais proxies a funcionar.

É por isso que o ranking dá tanta importância à atualização e à qualidade. Uma lista que é verificada frequentemente e filtra entradas inválidas poupa-lhe o trabalho de testar entradas inativas, mas não pode alterar o facto de que, num determinado dia, poucos funcionam.

É seguro utilizar proxies gratuitos para web scraping?

Não para nada sensível. O operador de um proxy gratuito pode ler e alterar o tráfego não encriptado, registar o que solicita e injetar anúncios ou scripts, e muitos proxies gratuitos funcionam em routers sequestrados. Utilize-os apenas para páginas públicas e não sensíveis, mantenha as verificações de certificados ativadas e nunca envie dados de início de sessão, cookies ou chaves de API através deles.

Um proxy situa-se no meio de cada pedido, a posição ideal para um ataque do tipo «manipulador no meio». Em HTTP simples, o proxy vê e pode reescrever o pedido e a resposta na íntegra. No caso do HTTPS, um proxy que funcione corretamente utiliza o método HTTP CONNECT para abrir um túnel e apenas retransmite bytes encriptados. Pode ver qual o servidor que está a visitar, mas não a própria página, desde que o seu cliente verifique os certificados.

A investigação confirma isto. O estudo da NDSS revelou que cerca de 38% dos proxies testados alteravam o conteúdo de alguma forma, e 5,15% faziam-no de forma maliciosa. Destes, 47% inseriam anúncios, 39% inseriam código de rastreamento ou de identificação e 12% redirecionavam para páginas com malware. O estudo, com a duração de 30 meses, revelou que, em média, 5,7% dos proxies ativos devolviam conteúdo alterado em cada execução, além de milhares de vulnerabilidades conhecidas nas máquinas por trás dos proxies.

Risco

O que acontece

Como identificá-lo

Entrada inativa ou desatualizada

Ligação recusada ou tempo de espera esgotado

O veredicto de «inativo» do verificador

Fuga de IP (proxy transparente)

O site continua a ver o seu IP real

Veredicto «leaks_ip»

Proxy apenas HTTP

Sem CONNECT, pelo que o HTTPS falha

Veredicto «http_only»

Alteração de conteúdo

Anúncios, rastreadores ou redirecionamentos inseridos

Veredicto «adulterado»

IP partilhado ou utilizado indevidamente

Bloqueios, CAPTCHAs ou erros 403

Falhas no destino, apesar de ser considerado «utilizável»

Host comprometido

O tráfego passa por um dispositivo sequestrado

Não é possível verificar a partir do exterior; evite tráfego sensível

Nunca envie estes dados através de um proxy gratuito:

  • Nomes de utilizador e palavras-passe
  • Cookies de sessão
  • Chaves ou tokens de API
  • Dados de pagamento
  • Dados pessoais sobre si ou qualquer outra pessoa

Nunca configure verify=False «corrigir» um erro de certificado através de um proxy e nunca execute o executável «verificador» de um site de listas nem a extensão do navegador. Há também uma vertente legal e ética: alguns proxies gratuitos funcionam em dispositivos cujos proprietários nunca concordaram em retransmitir o seu tráfego.

Como testar uma lista de proxies gratuitos com Python?

Envie algumas pequenas solicitações através de cada proxy para um ponto final de teste, como o httpbin.org. Verifique se estabelece ligação, qual o IP que o site deteta, quais os cabeçalhos que adiciona, se consegue abrir um túnel HTTPS e se uma página conhecida é devolvida inalterada. Mantenha apenas os proxies que passarem em todas as verificações e volte a testar antes de cada execução.

Configure um ambiente virtual e instale o Requests com suporte a SOCKS:

python -m venv .venv && source .venv/bin/activate
pip install "requests[socks]"

Guarde este script como free_proxy_check.py:

#!/usr/bin/env python3
"""Check a free proxy list for dead, leaky, HTTP-only, and tampering proxies."""
import csv
import hashlib
import os
import sys
import time
from concurrent.futures import ThreadPoolExecutor

import requests

BASE = os.environ.get("CHECK_BASE", "http://httpbin.org")
HTTPS_URL = os.environ.get("CHECK_HTTPS_URL", "https://httpbin.org/ip")
TIMEOUT = float(os.environ.get("CHECK_TIMEOUT", "8"))
WORKERS = int(os.environ.get("CHECK_WORKERS", "20"))
PROXY_HEADERS = {"via", "x-forwarded-for", "forwarded", "x-real-ip", "client-ip"}


def new_session(proxy=None):
    s = requests.Session()
    s.trust_env = False  # ignore HTTP(S)_PROXY / NO_PROXY from the shell
    if proxy:
        s.proxies = {"http": proxy, "https": proxy}
    return s


def baseline():
    """What the test server sees with no proxy: our IP and the true page hash."""
    s = new_session()
    my_ip = os.environ.get("CHECK_REAL_IP") or s.get(f"{BASE}/ip", timeout=TIMEOUT).json()["origin"]
    page = s.get(f"{BASE}/html", timeout=TIMEOUT).content
    return my_ip, hashlib.sha256(page).hexdigest()


def check(proxy, my_ip, page_hash):
    row = {"proxy": proxy, "verdict": "dead", "exit_ip": "", "latency_ms": "",
           "https": False, "proxy_headers": "", "tampered": False, "error": ""}
    s = new_session(proxy)
    try:
        start = time.perf_counter()
        r = s.get(f"{BASE}/ip", timeout=TIMEOUT)
        r.raise_for_status()
        row["latency_ms"] = round((time.perf_counter() - start) * 1000)
        row["exit_ip"] = r.json()["origin"]

        seen = s.get(f"{BASE}/headers?show_env=1", timeout=TIMEOUT).json()["headers"]
        added = {k: v for k, v in seen.items() if k.lower() in PROXY_HEADERS}
        row["proxy_headers"] = ";".join(f"{k}={v}" for k, v in added.items())
        leaks_ip = my_ip in row["exit_ip"] or any(my_ip in v for v in added.values())
        # httpbin.org's own load balancer adds one X-Forwarded-For hop; more means the proxy added one
        hops = added.get("X-Forwarded-For", "").count(",") + 1 if "X-Forwarded-For" in added else 0
        reveals = "Via" in added or "Forwarded" in added or hops > 1

        page = s.get(f"{BASE}/html", timeout=TIMEOUT).content
        row["tampered"] = hashlib.sha256(page).hexdigest() != page_hash
    except (requests.RequestException, ValueError, KeyError) as exc:
        row["error"] = type(exc).__name__
        return row

    try:
        row["https"] = s.get(HTTPS_URL, timeout=TIMEOUT).ok
    except requests.RequestException:
        row["https"] = False

    if row["tampered"]:
        row["verdict"] = "tampered"
    elif leaks_ip:
        row["verdict"] = "leaks_ip"
    elif not row["https"]:
        row["verdict"] = "http_only"
    elif reveals:
        row["verdict"] = "reveals_proxy"
    else:
        row["verdict"] = "usable"
    return row


def main(path):
    with open(path) as f:
        proxies = [line.strip() for line in f if line.strip() and not line.startswith("#")]
    proxies = [p if "://" in p else f"http://{p}" for p in proxies]
    my_ip, page_hash = baseline()

    with ThreadPoolExecutor(max_workers=WORKERS) as pool:
        rows = list(pool.map(lambda p: check(p, my_ip, page_hash), proxies))

    writer = csv.DictWriter(sys.stdout, fieldnames=rows[0].keys())
    writer.writeheader()
    writer.writerows(rows)
    usable = sum(r["verdict"] == "usable" for r in rows)
    print(f"{usable}/{len(rows)} proxies usable", file=sys.stderr)


if __name__ == "__main__":
    main(sys.argv[1] if len(sys.argv) > 1 else "proxies.txt")

O script executa cinco verificações em cada proxy, por ordem:

  1. Ligação e latência. Solicita /ip através do proxy e mede o tempo de ida e volta. Uma ligação recusada ou um tempo limite esgotado significam que o proxy está inoperacional.
  2. IP de saída. Compara o IP que o httpbin.org vê com o seu IP real, obtido a partir de um pedido direto. Se o seu próprio IP aparecer, o proxy está a revelá-lo.
  3. Cabeçalhos adicionados. Procura cabeçalhos adicionados pelo proxy, tais como «Via», o cabeçalho «X-Forwarded-For» e o cabeçalho padrão «Forwarded». Estes revelam que existe um proxy no caminho e, por vezes, contêm o teu IP real.
  4. Integridade da página. Compara o hash SHA-256 da página do httpbin.org /html página do httpbin.org obtida através do proxy com uma obtenção direta. Qualquer diferença significa que o proxy alterou a página.
  5. HTTPS via CONNECT. Solicita um URL HTTPS através do proxy. Se o túnel falhar, o proxy só funciona para HTTP simples.

Coloque os seus candidatos num ficheiro de texto, um por linha. As entradas host:port são tratadas como HTTP, e pode adicionar um esquema para SOCKS. Os endereços abaixo são IPs reservados para documentação, por isso substitua-os por entradas da sua lista:

# one proxy per line; bare host:port means HTTP
203.0.113.10:8080
http://198.51.100.24:3128
socks5h://192.0.2.55:1080

Em seguida, execute o verificador:

python free_proxy_check.py proxies.txt > results.csv

O script escreve uma linha CSV por proxy no ficheiro results.csv e apresenta o número de proxies utilizáveis. Os proxies gratuitos são lentos; por isso, se os que estão a funcionar continuarem a atingir o tempo limite, aumente o tempo limite com a CHECK_TIMEOUT variável de ambiente (em segundos).

Conclusão

Significado

Manter?

utilizável

Ligado, sem fuga de IP, túnel HTTPS a funcionar, página inalterada

Sim, para páginas públicas não confidenciais; volte a testar antes de cada execução

reveals_proxy

Funciona, mas adiciona cabeçalhos «Via» ou «Forwarded»

Apenas nos casos em que isso não seja relevante

http_only

Funciona com HTTP, mas não consegue criar um túnel para HTTPS

Não

leaks_ip

Transmite o teu IP real ao site

Não

adulterado

Devolveu uma página modificada

Não, e deixe de utilizar a lista que a forneceu

inativo

Recusado, tempo limite esgotado ou erro

Não

Há duas definições no script que são importantes. Utilizar socks5h:// em vez de socks5:// faz com que o proxy resolva nomes de anfitrião, o que mantém as pesquisas de DNS fora da sua própria rede. Definir trust_env = False impede que o Requests recupere as definições de proxy do seu shell, pelo que cada verificação passa apenas pelo proxy em teste. A documentação do Requests sobre proxies aborda ambos os aspetos.

Alimente o verificador com uma exportação em texto simples de qualquer uma das listas acima, como a API do ProxyScrape, o carregador de URLs do Geonode ou um dos ficheiros de texto do GitHub. Para ping, curl, bases de dados de reputação de IP e níveis de anonimato, siga as nossas seis formas práticas de testar proxies. É novo no uso de proxies no Requests? Veja aqui como configurar um proxy no Python Requests, incluindo autenticação e SOCKS5. Quando um proxy falhar com um erro 407, 502 ou uma recusa de CONNECT, analise o erro de estado do proxy antes de culpar o destino.

Quando deve deixar de utilizar proxies gratuitos e passar a pagar?

Opte por pagar quando manter uma lista gratuita ativa custar mais do que um plano. Sinais claros são tarefas recorrentes, taxas de sucesso imprevisíveis, a necessidade de HTTPS ou de um país específico, logins ou horas gastas a verificar novamente os proxies. Opte por proxies residenciais para alvos difíceis ou locais, proxies de centro de dados para sites tolerantes ou uma API de scraping para evitar a manutenção de proxies.

Situação

Utilização

Porquê

Aprendizagem, página pública pontual

Um proxy gratuito que passou na verificação

Custo zero; a falha tem um custo reduzido

Tarefa recorrente em sites que toleram IPs de centros de dados

Proxies de centros de dados

Largura de banda previsível com o seu próprio cliente

IPs locais ou de consumidores, segmentação por país, sessões persistentes

Proxies residenciais

Maior confiança e controlo da localização

Bloqueios, páginas com muito JavaScript ou falta de tempo para a manutenção do proxy

Uma API de scraping (Scraper API)

Proxies, tentativas de repetição e renderização por trás de um único pedido

Os proxies gratuitos são uma boa forma de aprender. Permite-lhe perceber como funcionam as configurações de proxy e porque é que «anónimo» numa lista nem sempre significa anónimo. Mas uma lista gratuita não é de facto gratuita. Pagas com o tempo gasto a obter e a testá-la, a repetir tarefas que falharam a meio e a verificar se os teus dados voltaram inalterados. Quando esse tempo vale mais do que um plano modesto, a opção gratuita torna-se a mais cara.

Ainda quer uma lista, mas que seja fiável? Saiba como as listas de proxies pagas são tarifadas e selecionadas. Para IPs de consumidores e segmentação por cidade, compare os melhores fornecedores de proxies residenciais rotativos. Para tarefas de grande volume em sites tolerantes, avalie os proxies de centro de dados partilhados em comparação com os dedicados.

A WebScrapingAPI oferece três opções pagas que correspondem à tabela acima:

  • Proxies residenciais. Os proxies residenciais rodam por predefinição, mantêm sessões persistentes até 10 minutos e aceitam HTTP, HTTPS ou SOCKS5.
  • Proxies de centro de dados. Para obter um bom débito em alvos que aceitam tráfego de centro de dados, utilize proxies de centro de dados com o seu próprio cliente. O preço é definido por orçamento, de acordo com o seu tráfego.
  • API do Scraper. Ou evite a manutenção de proxies: a API do Scraper recebe um URL e trata dos proxies, das tentativas de repetição e da renderização opcional de JavaScript. A renderização de JavaScript e a segmentação geográfica não implicam créditos adicionais, e os pedidos falhados não são faturados.

Aqui está a mesma verificação httpbin.org/ip do testador, enviada através da API Scraper com uma saída nos EUA. Defina primeiro a sua chave de API na WSA_API_KEY variável de ambiente:

import os

import requests

params = {
    "api_key": os.environ["WSA_API_KEY"],
    "url": "https://httpbin.org/ip",
    "country": "us",
}
r = requests.get("https://api.webscrapingapi.com/v2", params=params, timeout=60)
print(r.status_code, r.text[:200])

Perguntas frequentes

Qual é o melhor site de proxies gratuito para web scraping?

Depende da tarefa. A lista gratuita do ProxyScrape é a mais versátil para scripts, com filtros e uma API gratuita. O Geonode acrescenta dados de disponibilidade e de rede, e os feeds do GitHub, como o monosans/proxy-list, são os mais fáceis de automatizar. Nenhum é suficientemente fiável para produção, por isso teste primeiro todos os proxies.

É seguro utilizar listas de proxies gratuitas?

Apenas para pedidos públicos e não confidenciais. O operador de um proxy gratuito pode registar o seu tráfego e modificar qualquer coisa enviada através de HTTP simples, e estudos revelaram que milhares de proxies gratuitos injetam conteúdo. Mantenha as verificações de certificados ativadas, dê preferência a destinos HTTPS, nunca envie dados de início de sessão ou chaves de API e teste todos os proxies antes de o seu scraper depender deles.

Quantos proxies gratuitos numa lista funcionam realmente?

Normalmente, uma pequena minoria. Num estudo académico de 30 meses que analisou mais de 640 000 proxies gratuitos, uma média de cerca de 3,4% passou na verificação num determinado dia. Os resultados variam consoante a lista e a hora, por isso teste cada proxy imediatamente antes de o utilizar e esteja preparado para descartar a maioria das entradas.

Que listas de proxies gratuitos oferecem uma API ou download em texto simples?

O ProxyScrape oferece uma API pública gratuita, além de exportações em TXT, JSON e CSV, e o Geonode permite-lhe carregar uma lista filtrada através de um URL. Projetos do GitHub, como o monosans/proxy-list e o Proxifly, publicam ficheiros de texto simples que pode obter diretamente. O Hide.mn mantém a sua exportação e API disponíveis apenas através de uma subscrição paga. Obtenha sempre os feeds através de HTTPS.

Com que frequência devo atualizar uma lista de proxies gratuita?

Atualize-a imediatamente antes de cada execução. Alguns proxies gratuitos duram meses, mas muitos desaparecem em poucos dias, e não é possível saber antecipadamente quais. Mesmo uma lista que é verificada a cada minuto não consegue prever como um proxy irá comportar-se em relação ao seu alvo; por isso, obtenha, teste e utilize os que ainda estão ativos imediatamente.

Existem proxies HTTPS gratuitos?

Existem alguns, mas são raros. Num estudo de 30 meses, os proxies compatíveis com HTTPS representaram, em média, apenas cerca de 2,5% do número que respondeu via HTTP. Um proxy compatível com HTTPS suporta o método CONNECT, que canaliza o tráfego encriptado de ponta a ponta. Teste isto diretamente, porque as etiquetas das listas que indicam «HTTPS» estão frequentemente erradas ou desatualizadas.

Existem proxies residenciais ou de centros de dados gratuitos?

Não de forma fiável. As listas gratuitas misturam servidores de alojamento com dispositivos domésticos, e muitos IPs com aparência residencial são routers sequestrados cujos proprietários nunca concordaram em partilhá-los. Alguns fornecedores oferecem pequenos planos gratuitos, como os 10 proxies partilhados da Webshare, mas IPs residenciais fiáveis e de origem ética em grande escala custam dinheiro.

Existe alguma API de proxy rotativo gratuita?

A maioria dos serviços de «proxies rotativos gratuitos» são versões de avaliação ou pequenos níveis gratuitos de produtos pagos, e não conjuntos permanentemente gratuitos. A rotação requer um conjunto mantido de IPs funcionais, cuja gestão tem um custo. Se precisar de rotação para uma tarefa recorrente, reserve um orçamento para um plano de proxies pago ou para uma API de scraping que faça a rotação por si.

Qual é a diferença entre proxies gratuitos e pagos para scraping?

Os proxies pagos vêm com responsabilização: um operador conhecido, autenticação, suporte a HTTPS, segmentação por localização e alguém a corrigir IPs inativos. Os proxies gratuitos são anónimos, partilhados e não mantidos. Os gratuitos podem servir para aprendizagem. Para tarefas recorrentes, os proxies pagos costumam custar menos do que as horas perdidas a retestar e a reexecutar scrapes falhados.

Utilizar um proxy público não é ilegal na maioria dos locais, mas alguns proxies gratuitos funcionam em dispositivos comprometidos sem o consentimento do proprietário, e encaminhar tráfego através deles levanta questões legais e éticas. A legalidade do próprio scraping depende do que recolhe e onde o faz. Isto não constitui aconselhamento jurídico, por isso verifique a legislação local.

Pronto para deixar de manter uma lista de proxies?

As listas de proxies gratuitos são uma boa forma de aprender, mas constituem uma base pouco fiável para os dados de que depende. Quando estiver pronto para pagar, compare os planos de Proxies Residenciais, que começam nos 8,50 $ por GB com pagamento à medida que utiliza, ou solicite um orçamento de Proxies de Centro de Dados adaptado ao seu tráfego. Se preferir não ter de gerir proxies de todo, os planos da API do Scraper começam com 5 000 pedidos gratuitos. A renderização em JavaScript e a segmentação geográfica não implicam créditos adicionais, e os pedidos falhados não são faturados.

Sobre o autor

Robert Munceanu, Desenvolvedor Full-Stack @ WebScrapingAPI

Robert Munceanu

Desenvolvedor Full-Stack

Robert Munceanu é um programador Full Stack na WebScrapingAPI, contribuindo em todas as áreas do produto e ajudando a criar ferramentas e funcionalidades fiáveis que sustentam a plataforma.

Tutorial de Python do Nodriver: Extração discreta de dados da Web — Do primeiro script à produção
A ciência da extração de dados da Web

Tutorial de Python do Nodriver: Extração discreta de dados da Web — Do primeiro script à produção

TL;DR: Resumo: O Nodriver é uma biblioteca Python assíncrona que controla o Chromium através do Chrome DevTools Protocol, sem Selenium nem o binário chromedriver. Utilize-o quando um navegador furtivo auto-hospedado, mais próximo de uma sessão real do Chrome, é melhor do que uma stack WebDriver, mas saiba que, por si só, não elimina riscos de IP, TLS ou comportamento. Este tutorial vai de um primeiro script à produção em contentores e a uma Browser API alojada.

Suciu Dan15 min read
Ler artigo
Como lidar com URLs de redirecionamento do Google /goto e tokens CAES num scraper de SERP
A ciência da extração de dados da Web

Como lidar com URLs de redirecionamento do Google /goto e tokens CAES num scraper de SERP

TL;DR: Resumo: Os URLs /goto do Google com um token CAES, e os wrappers /url mais antigos, são camadas de redirecionamento, não destinos, por isso um scraper de SERP que trata cada href como final estraga o acompanhamento de posições e as bases de links. Prefira uma API de SERP estruturada quando devolve os links de destino. Quando tiver de analisar HTML, classifique cada href, elimine redirecionamentos duplicados e resolva-os com um GET simples. Não desencripte o CAES.

Suciu Dan13 min read
Ler artigo
Cabeçalhos de resposta HTTP no cURL: Cada flag, técnica e receita de scripting
A ciência da extração de dados da Web

Cabeçalhos de resposta HTTP no cURL: Cada flag, técnica e receita de scripting

TL;DR: O cURL esconde os cabeçalhos de resposta por padrão. Use -i para ver os cabeçalhos junto com o corpo, -I para uma solicitação HEAD que retorna apenas cabeçalhos, -v para depuração completa de solicitação/resposta e -D para salvar cabeçalhos em um arquivo. Para scripts modernos, o cURL 7.83+ permite extrair cabeçalhos individuais ou despejar todos eles como JSON com a opção -w write-out.

Suciu Dan12 min read
Ler artigo

Comece a construir

Pronto para expandir a sua recolha de dados?

Junte-se a mais de 2.000 empresas que utilizam a WebScrapingAPI para extrair dados da Web à escala empresarial, sem quaisquer custos de infraestrutura.