Free Proxy Health List

Snapshot ao vivo · 3,287 proxies

Montar um pool de proxies rotativo

Um laço de rotação funcional com acompanhamento de saúde em cerca de 20 linhas.

Montar um pool de proxies rotativo

1. Rotação com contagem de falhas

import collections, itertools, requests

proxies = [l.strip() for l in open("proxies.txt") if l.strip()]
failures = collections.Counter()
pool = itertools.cycle(proxies)

def get(url, attempts=10):
    for _ in range(attempts):
        proxy = next(pool)
        if failures[proxy] >= 3:
            continue
        try:
            return requests.get(
                url,
                proxies={"http": f"http://{proxy}", "https": f"http://{proxy}"},
                timeout=8,
            )
        except requests.RequestException:
            failures[proxy] += 1
    raise RuntimeError("pool exhausted")

Observações que poupam tempo

Contar falhas por proxy e pular os reincidentes é o que transforma uma lista crua em um pool utilizável; sem isso você segue pagando o timeout das mesmas entradas mortas. Atualize o arquivo na cadência de publicação e zere o contador ao fazer isso. Para cargas de produção em que essa taxa de falha é inaceitável, um endpoint rotativo mantido é a ferramenta certa.

Guias relacionados

Limites do snapshot público
Proxies públicos gratuitos são compartilhados e operados por terceiros desconhecidos. Nunca envie senhas, tokens ou dados pessoais por eles. Siga as políticas de uso aceitável do GitHub: nada de spam, ataques, contorno de controles de acesso ou coleta contrária às políticas do site.