Skip to content
Intermediate / 6 min read

Comment utiliser les proxies résidentiels Dataimpulse avec Selenium sur Windows pour le scraping web

Un guide étape par étape pour intégrer les proxies résidentiels Dataimpulse avec Selenium sur Windows, y compris la configuration et la rotation d'un proxy HTTP authentifié pour un scraping web fiable.

Windows HTTP(S) Scraping Web

Aperçu

Dataimpulse est un fournisseur de proxies résidentiels économique avec un pool de plus de 90 millions d'IP, optimisé pour le scraping web à grande échelle. Selenium est un outil populaire d'automatisation de navigateur qui peut exécuter JavaScript et interagir avec des sites web dynamiques. Combiner Selenium avec des proxies résidentiels vous permet de scraper à grande échelle tout en évitant les bannissements d'IP et les restrictions géographiques.

Dans ce tutoriel, vous apprendrez à configurer Selenium sur Windows pour acheminer le trafic via les proxies résidentiels Dataimpulse en utilisant HTTP, y compris la gestion de l'authentification proxy. À la fin, vous aurez un script fonctionnel qui scrape une page de test et vérifie l'IP du proxy.

Prérequis

Avant de commencer, assurez-vous de disposer de :

  • Un compte Dataimpulse avec les proxies résidentiels activés (facturation à l'usage).
  • Python 3.7 ou version ultérieure installé sur Windows.
  • Google Chrome ou Mozilla Firefox installé.
  • Une familiarité de base avec Python et la ligne de commande.

Étapes

1. Récupérez vos identifiants de proxy Dataimpulse

Connectez-vous à votre tableau de bord Dataimpulse et accédez à la section des proxies résidentiels. Vous aurez besoin de :

  • Hôte du proxy (par ex., gateway.dataimpulse.com — vérifiez votre tableau de bord pour le nom d'hôte exact)
  • Port du proxy (par ex., 823)
  • Nom d'utilisateur et mot de passe pour l'authentification

Dataimpulse prend en charge les protocoles HTTP et SOCKS5. Ce tutoriel utilise HTTP, qui est directement compatible avec Selenium. Notez les identifiants ; vous les utiliserez dans le script.

2. Configurez un environnement virtuel Python

Ouvrez l'invite de commandes ou PowerShell et créez un environnement virtuel pour isoler les dépendances :

python -m venv dataimpulse-selenium
dataimpulse-selenium\Scripts\activate

3. Installez Selenium et Selenium-Wire

Selenium-Wire étend Selenium pour prendre en charge les proxies authentifiés. Installez les deux paquets :

pip install selenium selenium-wire

4. Écrivez le script Selenium avec authentification proxy

Créez un nouveau fichier nommé scrape_with_dataimpulse.py et collez le code suivant. Remplacez les valeurs fictives par vos identifiants Dataimpulse.

from seleniumwire import webdriver
from selenium.webdriver.chrome.options import Options
import time

# Identifiants de proxy Dataimpulse
proxy_host = "your_proxy_host"  # par ex., gateway.dataimpulse.com
proxy_port = "your_proxy_port"  # par ex., 823
proxy_username = "your_username"
proxy_password = "your_password"

# Configurer les options Chrome
chrome_options = Options()
chrome_options.add_argument("--headless")  # Exécuter en mode headless (facultatif)
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")

# Configurer le proxy Selenium-Wire avec authentification
seleniumwire_options = {
    "proxy": {
        "http": f"http://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}",
        "https": f"http://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}",
        "no_proxy": "localhost,127.0.0.1"
    },
}

# Initialiser le driver
driver = webdriver.Chrome(
    options=chrome_options,
    seleniumwire_options=seleniumwire_options
)

try:
    # Naviguer vers une page qui affiche votre IP
    driver.get("http://httpbin.org/ip")
    time.sleep(3)  # Attendre le chargement de la page

    # Extraire et afficher l'adresse IP
    body = driver.find_element("tag name", "body").text
    print("Proxy IP response:", body)
finally:
    driver.quit()

Explication :

  • seleniumwire_options configure le proxy pour le trafic HTTP et HTTPS.
  • L'URL du proxy inclut le nom d'utilisateur et le mot de passe pour l'authentification.
  • Le script visite http://httpbin.org/ip pour afficher l'adresse IP vue par le serveur cible.

5. Exécutez et vérifiez le proxy

Exécutez le script depuis votre environnement virtuel activé :

python scrape_with_dataimpulse.py

Si cela réussit, vous verrez une sortie similaire à :

{
  "origin": "203.0.113.45"
}

L'IP affichée doit être une IP résidentielle Dataimpulse, et non votre IP locale. Vous pouvez vérifier en la comparant avec votre IP réelle à partir d'un service comme whatismyip.com.

6. (Facultatif) Rotation des proxies pour le scraping à grande échelle

Les proxies résidentiels Dataimpulse prennent en charge la rotation en changeant l'identifiant de session ou en utilisant différents ports. Avec Selenium-Wire, vous pouvez créer une nouvelle instance de driver pour chaque rotation, ou utiliser les paramètres de rotation de Dataimpulse s'ils sont disponibles (consultez votre tableau de bord). Par exemple, pour faire tourner à chaque requête, vous pouvez ajouter un ID de session au nom d'utilisateur (par ex., username-session-123). Consultez la documentation Dataimpulse pour la syntaxe exacte de rotation.

Un modèle de rotation simple consiste à instancier un nouveau driver pour chaque page cible :

def scrape_with_rotation(url):
    # Utiliser un ID de session unique par requête si pris en charge
    session_id = str(uuid.uuid4())[:8]
    username_with_session = f"{proxy_username}-session-{session_id}"
    # ... configurer le proxy avec username_with_session ...
    driver = webdriver.Chrome(...)
    driver.get(url)
    # ... scraper ...
    driver.quit()

Dépannage

  • Erreurs d'authentification : Assurez-vous que votre nom d'utilisateur et votre mot de passe sont corrects. Si vous utilisez des caractères spéciaux, encodez-les en URL.
  • Connexion proxy refusée : Vérifiez l'hôte et le port du proxy depuis votre tableau de bord Dataimpulse. Vérifiez que votre IP est autorisée en liste blanche si vous utilisez l'authentification par IP (non couverte ici).
  • WebDriver introuvable : Téléchargez le WebDriver approprié (par ex., ChromeDriver) et assurez-vous qu'il est dans votre PATH.
  • Performances lentes : Les proxies résidentiels peuvent être plus lents que les proxies de centre de données. Réduisez la concurrence ou utilisez le mode headless pour accélérer.
  • Erreurs SSL : Si vous rencontrez des problèmes de certificat SSL, ajoutez chrome_options.add_argument("--ignore-certificate-errors") pour les tests.

Résumé

Vous avez appris à intégrer les proxies résidentiels Dataimpulse avec Selenium sur Windows. En utilisant Selenium-Wire, vous pouvez gérer l'authentification proxy de manière transparente et acheminer le trafic du navigateur via le pool de plus de 90 millions d'IP de Dataimpulse. Cette configuration est idéale pour le scraping web à grande échelle, car le modèle de paiement à l'usage de Dataimpulse rend les coûts prévisibles. N'oubliez pas de faire tourner les proxies et de respecter les conditions d'utilisation des sites web.