Início / Casos de uso / Web scraping
Proxies gratuitos para web scraping
Fazer scraping de um único IP te bloqueia rápido. Rotacionar uma lista fresca e verificada distribui suas requisições por muitos IPs — veja como com uma lista gratuita verificada a cada hora.
Por que rotacionar proxies
A maioria dos sites limita ou bloqueia um IP que envia requisições demais. Um pool de proxies faz cada requisição (ou cada lote) sair de um endereço diferente, então nenhum IP dispara o limite. Com proxies gratuitos, qualquer um pode morrer em minutos, então o padrão confiável é rotacionar + repetir sobre muitos proxies verificados, não depender de um.
Rotacionar uma lista verificada em Python
Este exemplo carrega a lista JSON (já ordenada do mais rápido ao mais lento) e rotaciona por ela, repetindo com o próximo proxy quando um falha.
import requests
LIST = "https://raw.githubusercontent.com/xyzs996/free-proxy-health-list/main/proxies/all/data.json"
# 1
pool = requests.get(LIST, timeout=15).json()
def scheme(p):
proto = p["protocol"]; host = p["proxy"]
return f"socks5h://{host}" if proto.startswith("socks5") else \
f"socks4://{host}" if proto.startswith("socks4") else f"http://{host}"
def fetch(url):
for p in pool: # 2
px = scheme(p)
try:
r = requests.get(url, proxies={"http": px, "https": px}, timeout=8)
if r.ok:
return r.text
except requests.RequestException:
continue # 3
raise RuntimeError("all proxies failed")
print(fetch("https://httpbin.org/ip")[:200])
Faça com educação
- Adicione um atraso com jitter entre requisições (ex.: 1-5 s).
- Defina um
User-Agentrealista. - Respeite o
robots.txte os termos do site. - Faça backoff (espere mais) ao ver
429 Too Many Requests. - Atualize a lista periodicamente — é reverificada a cada hora.
Só faça scraping de dados que você tem permissão de usar. Não use proxies para burlar controles de acesso ou violar os termos de um site.
Perguntas frequentes
Proxies gratuitos servem para web scraping?
São ótimos para scraping pequeno-médio de páginas públicas, testes e protótipos. Proxies individuais morrem rápido, então rotacione e repita sobre muitos.
Como evito que bloqueiem meu IP?
Rotacione por requisição, adicione atrasos e jitter, use um User-Agent realista, respeite robots.txt e faça backoff em 429s.