Come risolvere 429 Troppi Richieste durante lo scraping
Un 429 è un limite di velocità, non un divieto — il server ti sta chiedendo di rallentare. La soluzione durevole combina backoff, onorando Retry-After, e distribuendo il carico su un pool di IP. Ecco come, con Python funzionante.
429 è un limite di velocità, non un muro
HTTP 429 Troppi Richieste significa che hai inviato troppe richieste in un dato intervallo e il server ti sta limitando. È deliberatamente temporaneo — a differenza di un blocco duro, un 429 di solito si risolve una volta che rallenti. Molti server includono un Retry-After header che ti dice esattamente quanti secondi aspettare; rispettarlo è la soluzione più efficace, perché ti allinea con il limite del server invece di indovinare.
Ci sono due leve. La prima è tasso: invia meno richieste al secondo per IP, aggiungi ritardi, limita la concorrenza e allontanati in modo esponenziale quando appare un 429. La seconda è distribuzione: distribuisci le richieste su più IP in modo che ciascuno rimanga sotto il limite per IP. Il controllo del tasso è dove dovresti iniziare — un pool di proxy moltiplica il tuo throughput ma non giustifica il bombardamento di un sito. s4m fornisce proxy di data center autenticati (SOCKS5 1080, HTTP 3128, USER:PASS) per distribuire il carico, e questo si abbina direttamente con la guida alla rotazione dei proxy e scraping con richieste.
Rispetta Retry-After, allontanati, poi ruota
Un ciclo di fetch che rispetta Retry-After, si ritira esponenzialmente con jitter e si distribuisce su un pool di proxy. Sostituisci 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)L'ordine per risolvere un 429
Le soluzioni più economiche e rispettose prima.
Onora Retry-After
Se la risposta 429 include un'intestazione Retry-After, attendi esattamente quel tempo prima di riprovare. È il server che ti informa del suo limite — seguirlo elimina la maggior parte dei 429 immediatamente.
Aggiungi il backoff esponenziale con jitter
Quando non c'è Retry-After, attendi 2, 4, 8… secondi (limitati) più un piccolo jitter casuale tra i tentativi, in modo da smettere di colpire e evitare tentativi sincronizzati.
Limita il tuo tasso di richiesta
Limita le richieste per secondo e la concorrenza in modo da rimanere sotto il limite in primo luogo. Un crawling costante e più lento termina in modo più affidabile rispetto a un picco che continua a essere limitato.
Distribuisci il carico tra gli IP
Una volta che il tuo comportamento per richiesta è educato, ruota attraverso un pool di proxy in modo che ogni IP rimanga sotto il limite per IP. Questo moltiplica il throughput sicuro senza aumentare la velocità su nessun singolo indirizzo.
Perché la rotazione da sola non è la risposta
È allettante trattare i proxy come un modo per ignorare i limiti di velocità: basta aggiungere più IP e continuare a inviare richieste. Questo si ritorce contro. Un sito che restituisce 429 sta monitorando i modelli di richiesta, e un'inondazione da un insieme variabile di indirizzi che colpiscono gli stessi endpoint nello stesso istante è essa stessa una firma rilevabile che porta a divieti severi. La rotazione moltiplica il throughput educato; non sostituisce la cortesia. Combina sempre un pool di proxy con un backoff, Retry-After, un ritmo realistico e una concorrenza sensata.
Onestamente, alcuni limiti devono essere rispettati: controlla se esiste un API ufficiale o un limite documentato prima di scalare intorno a un 429 e leggi i termini di ciascun sito. Quando hai bisogno di distribuzione, i proxy datacenter autenticati di s4m distribuiscono il carico e sono misurati, quindi allargare il pool è economico; per i dettagli vedi la guida alla rotazione. Ricorda che gli IP dei datacenter possono comunque essere segnalati in blocco, e la rotazione non fa nulla riguardo alle impronte digitali. Prototipa a basso costo con la lista di proxy gratuita e valida le uscite con gli strumenti.
Domande, risposte
Un 429 è un divieto permanente?
No. HTTP 429 Troppi Richieste è un limite di frequenza temporaneo — di solito si risolve una volta che rallenti. Rispetta qualsiasi intestazione Retry-After, aggiungi un backoff e riduci il tuo tasso di richiesta, e l'accesso riprende tipicamente.
Qual è la soluzione più efficace per un 429?
Rispetta l'intestazione Retry-After quando il server ne invia una. Ti dice esattamente quanto tempo aspettare, così ti riallinei con il limite del server invece di indovinare e venire nuovamente limitato.
Le proxy rotanti fermeranno gli errori 429?
Aiuta mantenendo ogni IP sotto il limite per IP, ma solo insieme a backoff e throttling. La rotazione senza un ritmo educato produce un'inondazione rilevabile che porta a blocchi più severi, quindi combina i due.
I proxy s4m sono sufficienti per bypassare qualsiasi limite di velocità?
Nessun strumento onesto può promettere questo. I proxy dei datacenter s4m distribuiscono il carico tra gli IP, ma hai comunque bisogno di backoff e throttling, gli intervalli dei datacenter possono essere segnalati e alcuni limiti dovrebbero semplicemente essere rispettati tramite un'API ufficiale.
Distribuisci il carico in modo onesto
Combina il backoff e il throttling con proxy di datacenter autenticati su proxy.s4m.online per mantenere ogni IP sotto il limite. Pagamento a consumo, IP dedicato opzionale.
Le persone hanno trovato questa pagina cercando
- come risolvere 429 troppi richieste durante lo scraping
- proxy residenziali
- fresco lista di proxy gratuiti
- lista di proxy gratuiti
- come openvpn funziona
- come controllare proxy http
- come configurare wireguard
- proxy per scraping per affari
- proxy socks5 passo dopo passo
- Tinyproxy vs 3proxy vs Squid
- è autenticazione proxy sicuro
- Impostazioni indirizzo ip
- UDP su SOCKS5
- è openvpn sicuro
- openvpn
- evitare DPI: offuscamento, Shadowsocks, V2Ray e reality
- proxy http
- indirizzo ip
Frasi di ricerca reali a cui questa pagina risponde — i collegamenti aprono la pagina che le tratta in dettaglio.