Comment économiser sur les proxys : 8 méthodes qui marchent
Des moyens réalistes de réduire les coûts de proxys de 30-70% sans perdre en qualité : optimisation du traffic, remises sur volume, passage au bon type, timing de l'abonnement.
1. Bloquer les ressources inutiles (60–80% d'économie)
Le plus gros gain. Sur un site moyen, ~70% de la bande passante correspond aux images, CSS, polices et vidéos. Si vous ne scrapez que du texte ou des données structurées, bloquez tout cela :
// Puppeteer
await page.setRequestInterception(true);
page.on('request', req => {
if (['image', 'stylesheet', 'font', 'media'].includes(req.resourceType())) {
req.abort();
} else {
req.continue();
}
});
Économie : 10 GB/jour → 2–3 GB/jour. En residential à $2/GB, cela fait $240/mo saved.
2. Passer au bon type de proxy
Beaucoup d'équipes surpaient pour du residential là où du datacenter suffirait :
- Intégrations d'API sans anti-bot — datacenter ($0.5/GB), ~5× moins cher
- Scraping d'endpoints JSON publics — datacenter
- Outils internes — datacenter
Guide des types de proxys : lire
3. Remises sur volume et à l'année
Presque tous les fournisseurs accordent une remise sur volume :
- SOAX — 15–20% de remise à partir de 100 GB
- Decodo — abonnement annuel -25%
- Bright Data — offres sur mesure à partir de $1000/mo avec 30%+ de remise
Si vous prévoyez 6+ mois de travail, passez à un abonnement annuel. 25% d'économie.
4. Caching local
Ne demandez pas deux fois la même chose. Un simple cache Redis avec un TTL de 1–7 jours économise 30–50% des requêtes sur des tâches de scraping typiques :
import redis
import hashlib
cache = redis.Redis()
def fetch_cached(url, ttl=86400):
key = 'http:' + hashlib.md5(url.encode()).hexdigest()
cached = cache.get(key)
if cached:
return cached.decode()
data = fetch_via_proxy(url)
cache.setex(key, ttl, data)
return data
5. Toujours activer gzip
Un seul header économise 60–80% de bande passante :
headers = {'Accept-Encoding': 'gzip, deflate, br'}
requests.get(url, headers=headers, ...)
La plupart des bibliothèques modernes décodent automatiquement les réponses gzip. Certains fournisseurs comptabilisent le flux après décompression — lisez attentivement les ToS.
6. Votre propre rate limit plutôt que de réessayer sur 429
Si vous savez que la cible a une limite de ~5 req/sec, plafonnez votre client à 4 req/sec au lieu d'attraper les 429 et de réessayer. Chaque retry est un tour de bande passante entièrement gaspillé.
import asyncio
sem = asyncio.Semaphore(4)
async def fetch(url):
async with sem:
await asyncio.sleep(0.25) # max 4 req/sec
return await aiohttp_fetch(url)
7. Pay-as-you-go vs. abonnement
Si la consommation est irrégulière (un gros run de recherche par mois), le pay-as-you-go est moins cher :
- Decodo PAYG : $4/GB
- Decodo mensuel 50 GB : $200/mo = $4/GB si vous utilisez tout. Utilisez 20 GB et cela revient à $10/GB effectifs.
Règle simple : si vous utilisez moins de 80% du volume mensuel, passez au pay-as-you-go.
8. Stratégie mixte : des fournisseurs différents pour des tâches différentes
N'utilisez pas un seul service pour tout. Une équipe réaliste a 3–4 comptes :
- Webshare ($0.65/GB datacenter) — pour les intégrations backend
- Decodo ($2.20/GB residential) — pour le scraping quotidien
- Bright Data ($5/GB residential) — pour les cibles protégées par anti-bot (DataDome)
- iProxy.online ($25/port mobile) — pour le multi-accounting
Une stratégie mixte économise 40–60% par rapport à une solution unique.
Économiser sur les proxys ne consiste pas à choisir le moins cher — mais à utiliser les bons types pour les bonnes tâches. Souvent, le surcoût d'un residential de qualité se rentabilise par la logique de retry et le time-to-completion économisés.