Como corrigir 429 Muitas Solicitações ao fazer scraping
Um 429 é um limite de taxa, não uma proibição — o servidor está pedindo para você desacelerar. A correção durável combina retrocesso, respeitando Retry-After, e distribuindo a carga entre um pool de IPs. Aqui está como, com Python funcionando.
429 é um limite de velocidade, não uma barreira
HTTP 429 Muitas Solicitações significa que você enviou muitas solicitações em uma determinada janela e o servidor está limitando você. É deliberadamente temporário — ao contrário de um bloqueio rígido, um 429 geralmente é liberado uma vez que você desacelera. Muitos servidores incluem um Retry-After cabeçalho informando exatamente quantos segundos esperar; respeitá-lo é a solução mais eficaz, pois alinha você com o próprio limite do servidor em vez de adivinhar.
There are two levers. The first is rate: send fewer requests per second per IP, add delays, cap concurrency, and back off exponentially when a 429 appears. The second is distribution: spread requests across multiple IPs so each stays under the per-IP limit. Rate control is where you should start — a proxy pool multiplies your throughput but does not excuse hammering a site. s4m provides authenticated datacenter proxies (SOCKS5 1080, HTTP 3128, USER:PASS) to spread load, and this pairs directly with the proxy rotation guide and scraping with requests.
Respeite Retry-After, recue e depois rotacione
Um loop de busca que respeita Retry-After, recua exponencialmente com jitter e se espalha por um pool de proxies. Substitua USER:PASS.
import random, time
import requests
USER, PASS, HOST = "USER", "PASS", "proxy.s4m.online"
POOL = [
f"socks5h://{USER}:{PASS}@{HOST}:1080",
f"http://{USER}:{PASS}@{HOST}:3128",
]
def polite_get(url, max_tries=6):
for attempt in range(1, max_tries + 1):
proxy = random.choice(POOL)
r = requests.get(url, proxies={"http": proxy, "https": proxy},
timeout=(5, 20))
if r.status_code != 429:
r.raise_for_status()
return r
# 429: prefer the server's Retry-After, else exponential backoff
retry_after = r.headers.get("Retry-After")
if retry_after and retry_after.isdigit():
wait = int(retry_after)
else:
wait = min(2 ** attempt, 60) + random.random() # cap + jitter
print(f"[{attempt}/{max_tries}] 429; waiting {wait:.1f}s")
time.sleep(wait)
raise SystemExit(f"still rate-limited after {max_tries} tries")
# Global throttle: cap how fast you fire, independent of retries.
MIN_INTERVAL = 0.5 # seconds between requests per worker
_last = 0.0
def throttled_get(url):
global _last
delta = time.time() - _last
if delta < MIN_INTERVAL:
time.sleep(MIN_INTERVAL - delta)
_last = time.time()
return polite_get(url)
print(throttled_get("https://httpbin.org/status/200").status_code)A ordem para corrigir um 429
As correções mais baratas e respeitosas primeiro.
Honrar Retry-After
Se a resposta 429 incluir um cabeçalho Retry-After, espere exatamente esse tempo antes de tentar novamente. É o servidor informando seu limite — segui-lo elimina a maioria dos 429s imediatamente.
Adicione retrocesso exponencial com jitter
Quando não há Retry-After, aguarde 2, 4, 8… segundos (limitado) mais um pequeno jitter aleatório entre as tentativas, para que você pare de bombardear e evite tentativas sincronizadas.
Controle sua taxa de requisições
Limite de solicitações por segundo e concorrência para que você permaneça abaixo do limite em primeiro lugar. Um rastreamento constante e mais lento termina de forma mais confiável do que um pico que continua sendo restringido.
Distribuir carga entre IPs
Uma vez que seu comportamento por solicitação é educado, gire através de um pool de proxies para que cada IP permaneça abaixo do limite por IP. Isso multiplica a taxa segura sem aumentar a taxa em nenhum endereço único.
Por que a rotação sozinha não é a resposta
É tentador tratar proxies como uma forma de ignorar limites de taxa — basta adicionar mais IPs e continuar disparando. Isso sai pela culatra. Um site que retorna 429 está observando padrões de requisição, e uma inundação de um conjunto variável de endereços atingindo os mesmos pontos finais no mesmo instante é, em si, uma assinatura detectável que pode levar a banimentos severos. A rotação multiplica a taxa educada; não substitui a educação. Sempre combine um pool de proxies com retrocesso, Retry-After, ritmo realista e concorrência sensata.
Honestamente, alguns limites devem ser respeitados — verifique se existe uma API oficial ou uma taxa documentada antes de escalar em torno de um 429, e leia os termos de cada site. Quando você realmente precisa de distribuição, os proxies autenticados de datacenter da s4m distribuem a carga e são medidos, então ampliar o pool é barato; para os mecanismos, consulte o guia de rotação. Lembre-se de que IPs de datacenter ainda podem ser sinalizados em massa, e a rotação não faz nada em relação a impressões digitais. Prototipe de forma barata com a lista de proxies gratuita e valide saídas com as ferramentas.
Perguntas, respondidas
Um 429 é um banimento permanente?
Não. HTTP 429 Muitas Solicitações é um limite de taxa temporário — geralmente é liberado uma vez que você diminui a velocidade. Honre qualquer cabeçalho Retry-After, adicione um backoff e reduza sua taxa de solicitação, e o acesso normalmente é retomado.
Qual é a solução mais eficaz para um 429?
Respeitando o cabeçalho Retry-After quando o servidor envia um. Ele diz exatamente quanto tempo esperar, para que você se alinhe novamente com o limite do servidor em vez de adivinhar e ser limitado novamente.
A rotação de proxies vai parar os erros 429?
Isso ajuda mantendo cada IP abaixo do limite por IP, mas apenas junto com retrocesso e limitação. A rotação sem um ritmo educado produz uma inundação detectável que se intensifica para bloqueios mais severos, então combine os dois.
Os proxies s4m são suficientes para contornar qualquer limite de taxa?
Nenhuma ferramenta honesta pode prometer isso. Proxies de datacenter s4m distribuem a carga entre IPs, mas você ainda precisa de retrocesso e limitação, faixas de datacenter podem ser sinalizadas, e alguns limites devem simplesmente ser respeitados através de uma API oficial.
Distribua a carga de forma honesta
Combine backoff e limitação com proxies de datacenter autenticados em proxy.s4m.online para manter cada IP abaixo do limite. Pagamento por uso, IP dedicado opcional.
As pessoas encontraram esta página pesquisando por
- como corrigir 429 muitas solicitações ao fazer scraping
- proxies residenciais
- fresco lista de proxies gratuitos
- lista de proxies gratuitos
- como openvpn funciona
- endereço IP
- wireguard
- proxy http assinatura
- configuração de proxy
- Tinyproxy vs 3proxy vs Squid
- socks5 proxy
- interruptor de desligamento vpn para android
- UDP sobre SOCKS5
- endereço IP para windows
- openvpn
- contornando DPI
- interruptor de desligamento vpn
- proxy para scraping
Frases de busca reais que esta página responde — os links abrem a página que as cobre em profundidade.