Skip to content
Beginner / 5 min read

Comment utiliser les proxys ProxyScrape avec Selenium sous Linux pour le scraping web (guide du débutant)

Un guide étape par étape adapté aux débutants pour configurer les proxys résidentiels, datacenter ou mobiles de ProxyScrape dans Selenium sous Linux. Comprend la configuration HTTP et SOCKS5, des solutions de contournement pour l'authentification et une rotation de base pour le scraping web.

Linux SOCKS5 HTTP(S) Scraping Web

Aperçu

Si vous avez recherché « proxy scape », « proxyscaper » ou « proxyscape », vous cherchez probablement ProxyScrape. Ce guide utilise l'orthographe correcte. ProxyScrape propose des proxys résidentiels, datacenter et mobiles avec prise en charge de HTTP et SOCKS5, un pool de plus de 97 M d'IP, ainsi qu'une facturation à l'usage et une facturation mensuelle forfaitaire.

Dans ce tutoriel pour débutants, vous allez configurer des proxys ProxyScrape dans Selenium sous Linux pour scraper des pages web. Nous aborderons HTTP et SOCKS5, l'authentification et la rotation de base. À la fin, vous disposerez d'un script Selenium fonctionnel qui fait passer le trafic par un proxy ProxyScrape.

Prérequis

  • Un compte ProxyScrape (essai gratuit ou forfait payant).
  • Un système Linux (testé sur Ubuntu/Debian).
  • Python 3.6 ou version supérieure.
  • Le gestionnaire de paquets pip.
  • Google Chrome ou Firefox installé.
  • Une familiarité de base avec le terminal.

Étapes

  1. Obtenez vos identifiants de proxy ProxyScrape.

    Connectez-vous à votre tableau de bord ProxyScrape et accédez au type de proxy que vous souhaitez utiliser (résidentiel, datacenter ou mobile). Notez les éléments suivants :

    • Point de terminaison : host:port
    • Nom d'utilisateur et mot de passe (si l'authentification est activée)

    Pour le scraping web, les proxys résidentiels sont souvent les plus fiables pour éviter les blocages, tandis que les proxys datacenter sont plus rapides et moins chers.

  2. Installez Selenium et WebDriver sur Linux.

    Installez le paquet Python Selenium :

    pip install selenium
    

    Installez ChromeDriver (pour Chrome/Chromium) :

    sudo apt update
    sudo apt install chromium-chromedriver
    

    Ou installez GeckoDriver (pour Firefox) :

    sudo apt install firefox-geckodriver
    

    Assurez-vous que le pilote est dans votre PATH. Vous pouvez vérifier avec which chromedriver.

  3. Écrivez un script Selenium de base avec un proxy HTTP ProxyScrape.

    Créez un fichier nommé selenium_proxy.py et ajoutez le code suivant. Remplacez les espaces réservés par vos identifiants ProxyScrape.

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    PROXY = "http://username:password@host:port"  # ex. : http://user123:[email protected]:8080
    chrome_options = Options()
    chrome_options.add_argument(f'--proxy-server={PROXY}')
    driver = webdriver.Chrome(options=chrome_options)
    driver.get("https://httpbin.org/ip")
    print(driver.page_source)
    driver.quit()
    

    Exécutez le script :

    python selenium_proxy.py
    

    Vous devriez voir une réponse JSON contenant une adresse IP différente de la vôtre. Si elle affiche votre IP réelle, le proxy ne fonctionne pas correctement.

  4. Gérez l'authentification proxy pour les proxys HTTP.

    L'option --proxy-server de Chrome ne prend pas en charge le nom d'utilisateur/mot de passe en ligne pour les proxys HTTP. La solution la plus simple pour les débutants consiste à ajouter votre IP à la liste blanche dans le tableau de bord ProxyScrape. Accédez aux paramètres de votre proxy et ajoutez votre IP publique actuelle à la liste blanche, puis supprimez le nom d'utilisateur/mot de passe de l'URL du proxy.

    Vous pouvez également utiliser la bibliothèque selenium-wire, qui prend en charge les proxys authentifiés :

    pip install selenium-wire
    
    from seleniumwire import webdriver
    
    options = {
        'proxy': {
            'http': 'http://username:password@host:port',
            'https': 'https://username:password@host:port',
        }
    }
    driver = webdriver.Chrome(seleniumwire_options=options)
    driver.get("https://httpbin.org/ip")
    print(driver.page_source)
    driver.quit()
    
  5. Utilisez des proxys SOCKS5 avec Selenium.

    ProxyScrape prend également en charge SOCKS5. Chrome peut utiliser SOCKS5 avec authentification en ligne :

    PROXY = "socks5://username:password@host:port"
    chrome_options.add_argument(f'--proxy-server={PROXY}')
    

    Notez que Firefox peut nécessiter une configuration supplémentaire pour l'authentification SOCKS5.

  6. Ajoutez une rotation de proxy de base.

    Pour une rotation simple, maintenez une liste de proxys et sélectionnez-en un au hasard pour chaque session de navigateur. Les proxys résidentiels de ProxyScrape fournissent souvent un point de terminaison rotatif, mais vous pouvez aussi effectuer une rotation manuelle.

    import random
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    proxies = [
        "http://user:pass@host1:port",
        "http://user:pass@host2:port",
        # Ajoutez d'autres proxys depuis votre liste ProxyScrape
    ]
    
    proxy = random.choice(proxies)
    chrome_options = Options()
    chrome_options.add_argument(f'--proxy-server={proxy}')
    driver = webdriver.Chrome(options=chrome_options)
    driver.get("https://httpbin.org/ip")
    print(driver.page_source)
    driver.quit()
    

    Pour le scraping en production, envisagez d'utiliser un service de rotation de proxys ou une bibliothèque comme selenium-wire avec un middleware personnalisé.

  7. Testez votre script de scraping.

    Écrivez un scraper simple pour récupérer une page et extraire le titre :

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.common.by import By
    
    PROXY = "http://username:password@host:port"
    chrome_options = Options()
    chrome_options.add_argument(f'--proxy-server={PROXY}')
    driver = webdriver.Chrome(options=chrome_options)
    driver.get("https://example.com")
    print(driver.title)
    driver.quit()
    

    Si vous voyez le titre de la page, votre proxy fonctionne.

Dépannage

  • chromedriver introuvable : Assurez-vous que le pilote est installé et dans votre PATH. Utilisez export PATH=$PATH:/path/to/driver si nécessaire.
  • Connexion proxy refusée : Vérifiez vos identifiants, votre point de terminaison et votre liste blanche d'IP. Vérifiez que votre forfait ProxyScrape est actif.
  • Fenêtre d'authentification dans Chrome : Utilisez la liste blanche d'IP ou selenium-wire pour éviter la fenêtre contextuelle.
  • Vitesses lentes : Essayez les proxys datacenter pour des réponses plus rapides, ou réduisez le nombre de sessions simultanées.
  • Erreurs de certificat SSL : Ajoutez --ignore-certificate-errors aux options de Chrome pour les tests (non recommandé en production).

Résumé

Vous avez appris à utiliser les proxys ProxyScrape avec Selenium sur Linux pour le scraping web. Nous avons abordé l'obtention des identifiants, l'installation de Selenium, la configuration des proxys HTTP et SOCKS5, la gestion de l'authentification et la rotation de base. N'oubliez pas de respecter les conditions d'utilisation des sites web et le fichier robots.txt. Pour des configurations plus avancées, explorez les points de terminaison rotatifs et les fonctionnalités de contrôle de session de ProxyScrape.