Best Proxies for Scrapy 2026 cover

Scrapy est le framework Python de référence pour le web scraping exigeant : rapide, asynchrone et conçu pour le crawling à grande échelle. Mais si vous ciblez un vrai site depuis une seule IP de datacenter, vous vous heurterez vite à des limites de débit ou à un blocage. La solution consiste à faire passer Scrapy par des proxies, idéalement résidentiels, pour que les requêtes paraissent provenir de véritables utilisateurs. Bonne nouvelle : la prise en charge des proxies par Scrapy est intégrée via request.meta['proxy'], et avec une passerelle rotative, vous n’avez même pas besoin de gérer une liste d’IP. Ce guide montre précisément comment utiliser un proxy avec Scrapy (par requête, via un middleware pour toutes les requêtes, et avec rotation), puis classe les 8 meilleurs proxies pour Scrapy en 2026. Avec son tarif de $1/GB, DataImpulse offre un excellent rapport qualité-prix.

Je suis Andrii Byzov, Fractional CMO AI-Native, et j’utilise chaque jour des crawlers Scrapy. Ci-dessous : la configuration à copier-coller, le piège lié à l’ordre des middlewares, et les fournisseurs qui méritent votre budget.


Points clés

  • Configurez le proxy dans request.meta['proxy'] : le HttpProxyMiddleware intégré de Scrapy le lit et gère l’authentification à partir de l’URL du proxy (http://user:pass@host:port).
  • Appliquez-le à chaque requête avec un petit DownloaderMiddleware, ou définissez-le requête par requête dans start_requests.
  • Une passerelle rotative évite de gérer une liste d’IP. Faites pointer meta['proxy'] vers un endpoint résidentiel rotatif (comme DataImpulse) et chaque requête utilise automatiquement une nouvelle IP.
  • Pour une liste d’IP statiques, utilisez scrapy-rotating-proxies (ROTATING_PROXY_LIST) : il assure la rotation, détecte les blocages et s’exécute avant HttpProxyMiddleware dans l’ordre (ses priorités par défaut le font déjà).
  • Scrapy prend nativement en charge les proxies HTTP/HTTPS, mais pas SOCKS5 : utilisez l’endpoint HTTP (port DataImpulse 823). DataImpulse propose aussi des proxies résidentiels à $1/GB, de datacenter à $0.50/GB et mobiles à $2/GB, avec un pool de 90M+ d’IP dans 195 pays.

Comment utiliser un proxy avec Scrapy

1. Par requête via meta['proxy']

import scrapy

class IpSpider(scrapy.Spider):
    name = "ip"
    def start_requests(self):
        proxy = "http://YOUR_LOGIN__cr.us:[email protected]:823"  # __cr.us = US
        yield scrapy.Request("https://httpbin.org/ip", meta={"proxy": proxy})

    def parse(self, response):
        self.log(response.text)  # confirm the egress IP

Le HttpProxyMiddleware de Scrapy (activé par défaut) récupère meta['proxy'] et définit l’en-tête Proxy-Authorization à partir des identifiants figurant dans l’URL : aucun code supplémentaire n’est nécessaire.

2. Un middleware pour faire passer chaque requête par un proxy

Pour l’ensemble d’un projet, c’est plus simple : définissez le proxy une seule fois et il s’applique à toutes les requêtes :

# middlewares.py
class DataImpulseProxyMiddleware:
    PROXY = "http://YOUR_LOGIN__cr.us:[email protected]:823"
    def process_request(self, request, spider):
        request.meta["proxy"] = self.PROXY

# settings.py — run BEFORE the built-in HttpProxyMiddleware (750)
DOWNLOADER_MIDDLEWARES = {
    "myproject.middlewares.DataImpulseProxyMiddleware": 350,
}

3. Rotation d’une liste d’IP statiques avec scrapy-rotating-proxies

Si vous disposez d’une liste de proxies (plutôt que d’une seule passerelle rotative), scrapy-rotating-proxies assure leur rotation et détecte les blocages :

# pip install scrapy-rotating-proxies
# settings.py
ROTATING_PROXY_LIST = [
    "http://YOUR_LOGIN__cr.us:[email protected]:823",
    # ...more endpoints/sessions...
]
DOWNLOADER_MIDDLEWARES = {
    "rotating_proxies.middlewares.RotatingProxyMiddleware": 610,
    "rotating_proxies.middlewares.BanDetectionMiddleware": 620,
}

Avec la passerelle résidentielle rotative de DataImpulse, vous n’en avez généralement pas besoin : un seul endpoint fournit déjà une nouvelle IP à chaque requête. Utilisez scrapy-rotating-proxies lorsque vous gérez de nombreuses sessions distinctes ou que vous souhaitez bénéficier d’une détection intégrée des blocages. Remarque : la prise en charge des proxies par Scrapy est limitée à HTTP/HTTPS ; utilisez donc l’endpoint HTTP (port 823), et non SOCKS5 ; consultez les tutoriels DataImpulse pour les paramètres de session.


Les meilleurs proxies pour Scrapy en un coup d’oeil

Fournisseur Idéal pour Scrapy Prix résidentiel Protocoles À noter
DataImpulse Meilleur rapport qualité-prix, crawlers maison $1/GB PAYG HTTP/HTTPS Pool de 90M+, passerelle rotative, sans expiration
Bright Data Entreprise et services gérés ~$4/GB promo; $8 standard HTTP/HTTPS/SOCKS5 Web Unlocker, SERP API, jeux de données
Oxylabs SLA entreprise à partir de $6/GB HTTP/HTTPS/SOCKS5 Pool de 175M+, APIs de scraping
Decodo PME et ETI, couverture géographique complète $3.75/GB (~$2 à 1TB+) HTTP/HTTPS Pool de 115M+, sticky jusqu’à 24h
IPRoyal Sessions sticky de longue durée à partir de $7.35/GB HTTP/HTTPS/SOCKS5 Sticky jusqu’à 7 jours; PAYG économique
SOAX Mix résidentiel + mobile $3.60/GB Starter HTTP/HTTPS 155M+ résidentiels, 33M+ mobiles
Webshare Budget / libre-service à partir de $3.50/mo résidentiel; $2.99/mo DC HTTP/SOCKS5 Offre gratuite, datacenter à bas prix
NetNut Stabilité ISP-résidentielle à partir de $3.53/GB HTTP/HTTPS IP statiques d’ISP grand public

Best proxies for Scrapy 2026: raw residential per-GB pricing vs managed scraping API per-1,000-requests pricing (heterogeneous units)


Les choix, en bref

DataImpulse offre un excellent rapport qualité-prix pour les crawlers Scrapy : résidentiel à $1/GB en paiement à l’usage (datacenter $0.50/GB, mobile $2/GB), 90M+ d’IP dans 195 pays, une passerelle HTTP/HTTPS rotative qui attribue une nouvelle IP à chaque requête, et un ciblage par pays/ville/ASN dans le nom d’utilisateur. Le trafic sans expiration, donc les exécutions de développement ne consomment pas inutilement un abonnement. Taux de réussite publié de 99.51%; G2 4.8/5; support humain 24/7. Pour le crawling interne à haut volume, c’est l’option la moins coûteuse par requête aboutie.

Bright Data s’adresse aux entreprises (résidentiel ~$8/GB standard, ~$4 en promotion) avec Web Unlocker, SERP API et datasets. Oxylabs (à partir de $6/GB, pool de 175M+) est une option assortie d’un SLA avec des API de scraping. Decodo (à partir de $3.75/GB, sticky jusqu’à 24h) offre une solution équilibrée pour les PME et ETI. IPRoyal (à partir de $7.35/GB, sticky jusqu’à 7 jours) convient aux crawls longs nécessitant une session stable. SOAX ($3.60/GB, 155M+ résidentiels + 33M+ mobiles) propose également un solide pool mobile. Webshare (offre gratuite, datacenter à partir de $2.99/mo) constitue une solution self-service abordable, et NetNut (à partir de $3.53/GB) convient lorsque la stabilité des IP ISP-résidentielles est essentielle.


Proxies rotatifs et proxies sticky avec Scrapy

Pour le crawling à grande échelle, une passerelle résidentielle rotative est idéale : chaque requête Scrapy obtient une nouvelle IP, ce qui répartit la charge et contourne les limites de débit sans aucune gestion d’IP. Pour les flux avec état (connexion puis requêtes de suivi), utilisez une session sticky afin que la même IP persiste sur toute la séquence, et gardez les cookies activés (le middleware de cookies de Scrapy est activé par défaut). La plupart des crawls Scrapy sont larges et sans état, donc la rotation est le réglage par défaut le plus courant ; réservez les sessions sticky aux cibles authentifiées ou en plusieurs étapes.

Erreurs courantes avec les proxies Scrapy

  • Ordre des middlewares. Un middleware de proxy personnalisé ou scrapy-rotating-proxies doit s’exécuter avant le HttpProxyMiddleware intégré (numéro de priorité plus bas), sinon votre proxy ne sera pas appliqué.
  • S’attendre à ce que SOCKS5 fonctionne. La prise en charge des proxies par Scrapy est limitée à HTTP/HTTPS : utilisez l’endpoint HTTP, pas une URL SOCKS.
  • Crawler de façon trop agressive. Activez AUTOTHROTTLE_ENABLED et définissez un CONCURRENT_REQUESTS/DOWNLOAD_DELAY raisonnable pour éviter de sursolliciter même des IP rotatives.
  • IP de datacenter sur des cibles protégées : elles sont bloquées rapidement ; utilisez du résidentiel pour les sites fortement protégés par des systèmes anti-bot.
  • Aucune gestion des blocages. Ajoutez une détection des nouvelles tentatives et des blocages (BanDetectionMiddleware de scrapy-rotating-proxies ou RETRY_HTTP_CODES personnalisé) afin que les réponses bloquées soient réessayées avec une nouvelle IP, et non analysées comme des données.

Quel type de proxy choisir pour Scrapy : résidentiel, datacenter ou mobile ?

  • Résidentiel ($1/GB) : le choix par défaut pour les cibles protégées (e-commerce, SERP, réseaux sociaux). Si vous devez en choisir un, choisissez celui-ci.
  • Mobile ($2/GB) : de véritables IP d’opérateurs pour les cibles les plus difficiles et les surfaces web mobiles.
  • Datacenter ($0.50/GB) : le moins cher et le plus rapide pour le crawling non protégé, les API et votre propre infrastructure ; ne l’utilisez pas sur des sites fortement protégés par des systèmes anti-bot.

DataImpulse propose les trois sur un seul compte avec paiement à l’usage, afin qu’un même projet Scrapy puisse acheminer chaque requête vers le service adapté grâce au nom d’utilisateur et à l’endpoint.

Comment démarrer avec DataImpulse + Scrapy

Étape 1. Créez un compte DataImpulse et récupérez des identifiants résidentiels. L’offre de lancement $5 / 5GB sans expiration : un budget de test réellement utilisable.

Étape 2. Définissez request.meta["proxy"] = "http://YOUR_LOGIN__cr.us:[email protected]:823" par requête, ou ajoutez le middleware proxy en une ligne pour l’appliquer partout. Ajoutez un code pays au nom d’utilisateur pour le ciblage géographique.

Étape 3. Activez AUTOTHROTTLE, configurez les nouvelles tentatives et la gestion des blocages, et laissez la passerelle rotative fournir une nouvelle IP par requête. Consultez les tutoriels DataImpulse et la page des proxies résidentiels.


FAQ

Comment utiliser un proxy dans Scrapy ?

Définissez request.meta['proxy'] = 'http://user:pass@host:port' sur vos requêtes : le HttpProxyMiddleware intégré de Scrapy le lit et gère l’authentification depuis l’URL. Pour un projet complet, ajoutez un petit DownloaderMiddleware qui définit request.meta['proxy'] sur chaque requête. Pour DataImpulse : http://YOUR_LOGIN__cr.us:[email protected]:823.

Quel est le meilleur proxy pour Scrapy ?

Les proxies résidentiels sont les plus adaptés aux cibles protégées : DataImpulse à $1/GB est le meilleur choix en matière de rapport qualité-prix (90M+ d’IP, passerelle HTTP/HTTPS rotative, trafic sans expiration). Bright Data et Oxylabs sont des options pour les entreprises ; Webshare est le moins cher pour démarrer. Tous fonctionnent avec le meta['proxy'] de Scrapy ; le choix dépend du prix, de la qualité du pool et de votre éventuel besoin d’API gérées.

Comment faire tourner les proxies dans Scrapy ?

Le plus simple : faites pointer meta['proxy'] vers une passerelle résidentielle rotative (DataImpulse) : chaque requête reçoit automatiquement une nouvelle IP, sans liste à gérer. Pour une liste statique de proxies, installez scrapy-rotating-proxies, définissez ROTATING_PROXY_LIST et placez son middleware avant le HttpProxyMiddleware intégré. Il détecte également les bannissements et relance les requêtes avec une nouvelle IP.

Scrapy prend-il en charge les proxies SOCKS5 ?

Pas nativement : le HttpProxyMiddleware de Scrapy prend uniquement en charge les proxies HTTP et HTTPS. Utilisez l’endpoint HTTP (port DataImpulse 823) pour les proxies résidentiels. SOCKS5 nécessiterait un gestionnaire de téléchargement personnalisé, ce qui est rarement nécessaire puisque la passerelle HTTP couvre le crawling Scrapy.

Pourquoi mon proxy Scrapy ne fonctionne-t-il pas ?

Le plus souvent, c’est l’ordre des middlewares : un proxy personnalisé ou le middleware scrapy-rotating-proxies doit s’exécuter avant le HttpProxyMiddleware intégré (un numéro de priorité plus faible). Autres causes : l’utilisation d’une URL SOCKS (utilisez HTTP), identifiants manquants dans l’URL du proxy, ou IP de datacenter bloquée sur un site protégé (passez au résidentiel). Vérifiez l’IP de sortie avec https://httpbin.org/ip.

Combien coûtent les proxies pour Scrapy ?

Les proxies résidentiels bruts sont facturés au GB : DataImpulse $1/GB (prix plancher), NetNut à partir de $3.53, SOAX $3.60, Decodo $3.75, Oxylabs à partir de $6, IPRoyal $7.35 ; Webshare propose des abonnements économiques à partir de $3.50/mo. Une page crawlée représente une petite fraction d’un GB, donc le résidentiel facturé au GB est bien moins cher que les API gérées facturées à l’enregistrement pour le crawling Scrapy à gros volume ; les solutions gérées conviennent aux cibles les plus difficiles.



Share article: