Skip to content
Intermediate / 3 min read

Comment utiliser les proxys résidentiels ProxyScrape pour le scraping web en Python

Un guide étape par étape pour intégrer les proxys résidentiels et datacenter de ProxyScrape dans vos scripts de scraping web Python en utilisant les protocoles HTTP et SOCKS5.

SOCKS5 HTTP(S) Scraping Web

Aperçu

ProxyScrape propose des proxys résidentiels, datacenter et mobiles avec prise en charge de HTTP et SOCKS5, s'appuyant sur un pool de plus de 97 M d'IP. Ce tutoriel montre comment utiliser les proxys ProxyScrape en Python pour des tâches de scraping web. Vous apprendrez à configurer des requêtes avec HTTP et SOCKS5, à gérer l'authentification et à faire tourner les proxys. Les étapes s'appliquent à n'importe quel fournisseur de proxys, mais nous utilisons ProxyScrape comme exemple en raison de sa disponibilité fiable et de sa stabilité à long terme.

Étapes

  1. Obtenez les identifiants de proxy auprès de ProxyScrape. Connectez-vous à votre tableau de bord ProxyScrape et accédez à la liste de proxys ou à la section API. Vous y trouverez le point de terminaison du proxy (IP:port), le nom d'utilisateur et le mot de passe. ProxyScrape propose des formules de facturation à l'usage et mensuelles forfaitaires, alors choisissez celle qui correspond à votre volume de scraping.

  2. Installez les bibliothèques Python requises. Ouvrez votre terminal et installez requests et requests[socks] pour la prise en charge de SOCKS5 :

    pip install requests requests[socks]
    
  3. Écrivez un script de scraping de base en utilisant des proxys HTTP. Créez un fichier Python et utilisez le code suivant pour envoyer des requêtes via le proxy HTTP de ProxyScrape. Remplacez les espaces réservés par vos identifiants réels.

    import requests
    
    proxy_url = "http://username:password@proxy-endpoint:port"
    proxies = {
        "http": proxy_url,
        "https": proxy_url,
    }
    
    response = requests.get("http://httpbin.org/ip", proxies=proxies, timeout=10)
    print(response.json())
    
  4. Utilisez des proxys SOCKS5 pour un meilleur anonymat. ProxyScrape prend en charge SOCKS5. Modifiez le schéma de l'URL du proxy en socks5:// :

    import requests
    
    proxy_url = "socks5://username:password@proxy-endpoint:port"
    proxies = {
        "http": proxy_url,
        "https": proxy_url,
    }
    
    response = requests.get("http://httpbin.org/ip", proxies=proxies, timeout=10)
    print(response.json())
    
  5. Faites tourner les proxys pour éviter les limites de débit. Si votre offre ProxyScrape fournit un point de terminaison rotatif, utilisez ce point de terminaison pour chaque requête. Sinon, maintenez une liste de points de terminaison de proxy depuis votre tableau de bord et alternez entre eux. Exemple :

    import requests
    import random
    
    proxy_list = [
        "http://user:pass@proxy1:port",
        "http://user:pass@proxy2:port",
        # ... add more
    ]
    
    def get_random_proxy():
        return random.choice(proxy_list)
    
    for _ in range(10):
        proxy_url = get_random_proxy()
        proxies = {"http": proxy_url, "https": proxy_url}
        try:
            response = requests.get("http://httpbin.org/ip", proxies=proxies, timeout=10)
            print(response.json())
        except Exception as e:
            print(f"Proxy failed: {e}")
    
  6. Gérez les erreurs et les nouvelles tentatives. Les connexions proxy peuvent échouer. Enveloppez vos requêtes dans des blocs try/except et mettez en œuvre un mécanisme de nouvelle tentative avec un nouveau proxy en cas d'échec. Cela garantit que votre scraper reste robuste.

  7. Testez et passez à l'échelle. Exécutez votre script et vérifiez que l'IP change à chaque requête. Pour le scraping à grande échelle, envisagez d'utiliser un objet de session et d'ajuster la concurrence en fonction des limites de votre offre ProxyScrape.

Remarque : Respectez toujours les conditions d'utilisation des sites web et le fichier robots.txt. Les proxys résidentiels et datacenter de ProxyScrape sont fiables, mais les pratiques de scraping éthiques relèvent de votre responsabilité.