Proxys résidentiels ou de datacenter pour le scraping
Les proxys résidentiels et de datacenter modifient tous deux l'adresse d'où semble provenir votre trafic, mais ils ne sont pas interchangeables. Un proxy de datacenter passe par des serveurs hébergés dans un centre de données. Un proxy résidentiel passe par une adresse attribuée par un fournisseur d'accès internet à une connexion domestique. La différence apparaît dans la vitesse, dans le niveau de confiance accordé à l'adresse par le site, et dans le coût d'exploitation. Ce guide les compare et vous donne un test simple pour savoir lequel votre scraper requiert.
La réponse courte
Utilisez des proxys de datacenter lorsque la cible ne se protège pas étroitement contre l'automatisation, que vous avez besoin d'un fort débit, et que vous collectez sur un site à la politique de débit généreuse. Utilisez des proxys résidentiels lorsque la cible évalue les adresses selon leur origine, lorsque vous avez besoin d'un pays ou d'une ville précise, ou lorsque les adresses de datacenter continuent d'être bloquées. De nombreux projets utilisent les deux : le datacenter pour l'essentiel du travail, le résidentiel pour les pages qui refusent tout le reste.
Comparaison
Confiance. Les sites connaissent les plages d'adresses appartenant aux hébergeurs, et beaucoup les notent plus bas par défaut. Une adresse résidentielle ressemble à n'importe quel visiteur domestique, elle part donc avec un meilleur score. La confiance est la principale raison de choisir le résidentiel.
Vitesse. Les connexions de datacenter sont généralement plus rapides et plus stables. Les connexions résidentielles sont plus lentes et peuvent tomber, car elles passent par des réseaux grand public. Prévoyez des délais d'attente plus longs et davantage de nouvelles tentatives avec du trafic résidentiel.
Ciblage géographique. Les pools résidentiels offrent en général un ciblage plus fin, par pays et souvent par région ou par ville. C'est important lorsqu'un site affiche des prix, des stocks ou un contenu différents selon la localisation. Les pools de datacenter sont généralement plus grossiers.
Stabilité d'une adresse. Une adresse de datacenter conserve généralement sa réputation dans le temps, ce qui aide les sessions persistantes. Les adresses résidentielles changent plus souvent, donc la continuité de session dépend davantage du fournisseur.
Coût par requête. Les proxys de datacenter sont généralement moins chers pour les gros volumes. Le trafic résidentiel est tarifé différemment et coûte en général davantage pour le même nombre de requêtes. Vérifiez les tarifs actuels du fournisseur plutôt que de supposer que l'un ou l'autre est bon marché.
Faire un test équitable
Le seul moyen fiable de choisir est de tester les deux sur votre cible réelle. Gardez le test petit et équitable :
- Choisissez dix pages de la cible qui représentent la charge de travail réelle.
- Lancez le même script via un pool de datacenter, puis via un pool résidentiel, avec le même rythme et les mêmes en-têtes.
- Mesurez le taux de réussite, le temps de réponse médian et le nombre de blocages ou de pages de défi.
- Choisissez le pool le moins cher qui atteint votre objectif de réussite, et non celui qui affiche les meilleurs chiffres bruts.
import time
import requests
def measure(urls: list[str], proxy: str) -> dict:
ok, blocked, times = 0, 0, []
for url in urls:
start = time.monotonic()
try:
r = requests.get(url, proxies={"http": proxy, "https": proxy}, timeout=30)
times.append(time.monotonic() - start)
if r.status_code in (403, 429, 503):
blocked += 1
else:
ok += 1
except requests.RequestException:
blocked += 1
time.sleep(2) # reste poli pendant le test
return {
"success_rate": ok / len(urls),
"blocked": blocked,
"median_seconds": sorted(times)[len(times) // 2] if times else None,
}
Lancez-le sur la même liste d'URL pour chaque type de proxy, et comparez les résultats côte à côte. Répétez le test à un autre moment de la journée, car la charge des deux réseaux varie.
Lorsqu'un captcha apparaît
Blocages et captchas sont deux problèmes différents. Un proxy résidentiel peut réduire la fréquence d'apparition d'un captcha, mais lorsqu'il apparaît, vous avez toujours besoin d'un jeton valide. Le type de captcha actuellement disponible chez Scarnox est PopularCaptcha. Le guide Python PopularCaptcha montre comment le jeton est demandé et soumis. Si le site lie le jeton à l'adresse réseau, gardez le même proxy pour la page et pour la résolution. Voir résolution de captcha avec ou sans proxy pour ce choix.
Erreurs à éviter
L'erreur la plus courante consiste à acheter du trafic résidentiel pour une tâche que des adresses de datacenter gèrent parfaitement bien. Si la cible est un catalogue public à la politique de débit généreuse, le surcoût n'apporte pas grand-chose. L'erreur inverse consiste à tester une fois, un après-midi calme, et à conclure qu'un pool est fiable. La charge varie au cours de la journée, donc lancez votre comparaison à plusieurs moments. Une troisième erreur est de ne mesurer que le taux de réussite. Un pool qui renvoie une page d'apparence correcte mais qui est en réalité un défi ou un modèle vide n'a pas réussi ; vérifiez donc aussi le contenu de la réponse, et pas seulement son code de statut.
Éthique des pools résidentiels
Les proxys résidentiels engagent une responsabilité que n'ont pas les proxys de datacenter. Les adresses appartiennent à de vrais foyers. Choisissez un fournisseur qui obtient ses adresses avec le consentement éclairé des personnes concernées, et demandez comment il s'y prend avant de vous inscrire. Évitez tout service qui fait transiter le trafic par des appareils ou des logiciels installés sans l'accord de leur propriétaire. C'est une atteinte à la vie privée, et c'est aussi un risque juridique pour votre projet.
Scraper de manière responsable
- Lisez le
robots.txtet les conditions d'utilisation des sites que vous ciblez. - Utilisez le type de proxy le moins cher qui atteint votre objectif réel de réussite, et gardez la charge que vous imposez à un site modérée.
- N'utilisez pas de proxys pour contourner une restriction mise en place par le propriétaire du site.
- Ne collectez pas de données personnelles dont vous n'avez pas besoin, quelle que soit l'adresse d'où elles proviennent.
Prochaines étapes
- Proxys rotatifs pour le scraping
- Scraper sans se faire bloquer
- Résolution de captcha avec ou sans proxy
- Le web scraping est-il légal ? Un aperçu général
Commencez avec un crédit d'essai gratuit, sans carte bancaire : créez un compte et lancez le flux PopularCaptcha sur une page qui vous appartient. Pour les tarifs actuels, consultez la page tarifs.