Comment utiliser proxys pour faire tourner les adresses IP en Python ? 5 étapes faciles en 2024

Comment faire, proxys, Python, Mar-06-20245 minutes de lecture

Lorsque vous utilisez un proxy, vous ne vous connectez pas directement au serveur cible ; au lieu de cela, vous dirigez votre demande vers le serveur proxy qui l'évalue et vous renvoie une réponse. proxys présente de nombreux avantages, tels que la dissimulation de vos véritables adresses IP, le contournement des filtres, de la censure, etc. Il est parfois difficile d'effectuer du web scraping avancé

Table des matières

Lorsque vous utilisez un proxy, vous ne vous connectez pas directement au serveur cible ; au lieu de cela, vous adressez votre demande au serveur proxy qui l'évalue et vous renvoie une réponse. proxys présente de nombreux avantages, tels que la dissimulation de vos véritables adresses IP, le contournement des filtres, de la censure, etc. 

Il est parfois difficile d'effectuer du web scraping avancé en raison de l'envoi de plusieurs requêtes à partir de la même adresse IP. Les scrappeurs de sites web sont souvent confrontés au problème du blocage des sites web qu'ils scrappent. Mais ils peuvent utiliser de nombreuses techniques pour éviter d'être bloqués, telles que

  • Rotation des adresses IP
  • Utiliser des navigateurs sans tête
  • Réduire le taux d'exploration,
  • Utilisation proxys

Un proxy rotator peut vous aider à contourner la plupart des mesures anti-scraping. Vous pouvez également l'utiliser pour contourner les limites de débit mises en place sur le site web cible et extraire des données avec succès. Mais qu'est-ce qu'un proxy rotatif ? Il s'agit d'un proxy qui attribue une nouvelle adresse IP pour chaque connexion à partir du pool de proxy. Cela signifie que vous pouvez envoyer 1000 requêtes à n'importe quel nombre de sites web en lançant un script et en obtenant 1000 adresses IP différentes.

Cet article vous aide à comprendre comment utiliser proxys pour faire pivoter les adresses IP en python.

Comment utiliser proxys pour faire tourner les adresses IP en Python

Vous pouvez récupérer une liste de proxys gratuits et les enregistrer dans un fichier texte nommé list_proxy.txt. Vous pouvez ensuite suivre les étapes ci-dessous pour effectuer une rotation des adresses IP en Python.

Importer des bibliothèques

Vous devez importer le module de requêtes de Python à l'aide de la commande ci-dessous.

demandes d'importation

Si le module n'est pas installé dans votre environnement, vous pouvez l'installer en utilisant la commande ci-dessous.

!pip install requests

Créer une fonction

Vous devez créer une fonction send_request qui prendra deux paramètres, à savoir la session et le proxy. Il est préférable d'utiliser un proxy HTTP car la plupart des proxys gratuits n'utilisent pas le protocole HTTPS. Nous utiliserons des blocs try-except car la plupart des proxys gratuits ne fonctionnent pas car ils ont été bloqués.

def send_request(session, proxy):
   try:
       response = session.get('http://httpbin.org/ip', proxies={'http': f"http://{proxy}"})
       print(response.json())
   except:
       pass

Lire le fichier .txt

Voici la section principale du code. Vous devez lire votre fichier list_proxy.txt et le sauvegarder dans la variable nommée proxys comme indiqué ci-dessous.

if __name__ == "__main__":
  avec open('list_proxy.txt', 'r') as file:
      proxys = file.readlines()

Utiliser une boucle For

Vous devez utiliser le module requests pour créer une session en Python. Nous avons utilisé une boucle for pour parcourir le proxy dans le code ci-dessous. Nous avons ensuite transmis la session et le proxy à la fonction send_request. 

avec requests.Session() as session :
  pour proxy dans proxys:
       send_request(session, proxy)

Exécuter le script

Vous pouvez exécuter le script et voir la sortie comme indiqué ci-dessous. Vous obtiendrez une longue liste de proxys , mais n'oubliez pas qu'ils ne fonctionneront pas. 

python rotateproxy.py

L'ensemble de votre code se présentera sous la forme suivante :

import requests


def send_request(session, proxy):
   try:
       response = session.get('http://httpbin.org/ip', proxies={'http': f"http://{proxy}"})
       print(response.json())
   except:
       pass


if __name__ == "__main__":
   with open('list_proxy.txt', 'r') as file:
       proxies = file.readlines()

   with requests.Session() as session:
       for proxy in proxies:
           send_request(session, proxy)

Conseils pour construire un rotateur de proxy

Voici quelques conseils pour faire pivoter proxys en Python lors de l'utilisation d'un proxy rotatif.

Utiliser des services Proxy fiables et gratuits

La plupart des services proxy gratuits disponibles sont encombrés, ce qui entraîne des pannes inattendues et des retards frustrants. Par conséquent, lorsque vous envisagez d'opter pour proxys, vous devez vérifier s'ils répondent à vos besoins en matière de scraping sans entraîner de pertes importantes.

La plupart des proxys gratuits sont valables pour une durée limitée, de sorte que vous pouvez construire votre propre logique en Python qui peut faire tourner le rotateur de liste de proxy gratuit avec des adresses IP fonctionnelles. De cette façon, vous n'aurez pas de perturbations pendant le web scraping. 

S'abstenir d'utiliser des adresses IP proxy prévisibles

Vous devez éviter d'utiliser des adresses IP qui suivent une séquence particulière ou un format prévisible, comme l'appartenance à un même groupe. En effet, la plupart des outils anti-scraping peuvent facilement détecter les requêtes envoyées à partir de telles adresses IP. Par exemple, vous devez vous abstenir d'utiliser la séquence suivante d'adresses IP tournantes, car elle déclenchera rapidement un signal d'alarme.

103.243.132.11

103.243.132.12

103.243.132.13

103.243.132.14

Envisager un service proxy premium

Les rotateurs d'IP proxy gratuits sont peu sûrs et lents. Leur utilisation ne convient donc pas si vous réalisez des projets de web scraping avancés et à grande échelle. En utilisant un bon proxys premium, vous pouvez obtenir un service de haute qualité et gratter des milliers de pages web sans subir de blocages ou de perturbations. 

Pour utiliser un service proxy premium, vous devrez payer quelques dollars et obtenir un fournisseur qui répondra à vos besoins en matière d'extraction de données et garantira votre confidentialité.

L'élite en marche proxys

Les trois catégories principales de proxys sur Internet sont présentées ci-dessous.

  • Elite proxys
  • Anonyme proxys
  • Transparent proxys

Elite proxys est la meilleure option à considérer parmi ces proxys car ils peuvent éviter les détections et contourner les restrictions. Vous ne pouvez envoyer que l'en-tête REMOTE_ADDR à l'aide d'un proxy élite tout en laissant les autres en-têtes vides. De cette façon, vous pouvez obtenir une confidentialité optimale avec ces proxys.

En revanche, un proxy transparent révèle les détails de votre adresse IP et envoie votre véritable IP via l'en-tête HTTP_VIA et l'en-tête HTTP_X_FORWARDED_FOR. Le proxy anonyme ne révèle pas votre adresse IP réelle. Il envoie l'IP du proxy ou la laisse vide.

Combiner la rotation d'IP avec la rotation d'agent d'utilisateur

Vous pouvez utiliser la rotation d'adresses IP pour faire tourner plusieurs adresses IP et éviter d'être détecté. Cependant, certaines mesures anti-scraping peuvent identifier de telles activités et vous empêcher de récolter des données. Par conséquent, vous devez également procéder à la rotation des agents utilisateurs en plus de la rotation des adresses IP afin d'augmenter vos chances de réussite. 

FAQs :

1. Comment utiliser proxys pour faire pivoter les adresses IP en utilisant python ?
Avec l'aide des requêtes de la bibliothèque python, vous pouvez facilement effectuer la rotation de proxys . Tout d'abord, téléchargez la liste des adresses gratuites proxys à partir du site web ProxyScrape, ensuite créez une fonction que vous pouvez utiliser pour effectuer l'ensemble du processus de rotation des adresses IP ; troisièmement, utilisez la fonction read pour lire les adresses gratuites proxys téléchargées ; et enfin, exécutez le script en utilisant la boucle for pour obtenir le proxy qui est disponible pour une session.
2. Existe-t-il un rotateur de procurations disponible en ligne ?
Oui, il existe des rotateurs de proxy disponibles en ligne. Au lieu de faire tourner manuellement le site proxys de votre centre de données, vous pouvez utiliser ces rotateurs de proxy pour faire le gros du travail. Mais il s'agit de services payants ; si vous voulez un rotateur de proxy gratuit, la construction d'un rotateur à l'aide de python est la meilleure solution.
3. Comment proxys aide-t-il à faire du web scraping ?
proxys permettent de masquer votre adresse IP d'origine et d'utiliser leur adresse IP pour envoyer plusieurs requêtes au serveur cible afin d'obtenir les informations nécessaires. Pour le web scraping, vous devez envoyer rapidement de nombreuses requêtes, ce que le serveur cible peut considérer comme un comportement anormal et bloquer votre adresse IP. Le proxy vous permet d'éviter de tels scénarios.

Conclusion

Il est simple de créer un proxy rotator en Python. Vous pouvez générer des proxys aléatoires et ensuite construire une logique pour récupérer des données sur les sites web. Outre les catégories datacenter et residential proxys, les autres catégories sont elite, anonymous et transparent proxys. Elite proxys est la meilleure option car elle est difficilement détectable par le site web cible. Vous pouvez utiliser proxys anonyme si vous souhaitez simplement préserver votre vie privée sur Internet. Enfin, vous pouvez utiliser proxys transparent, mais ils offrent les plus faibles chances de succès. Cet article espère donner des informations approfondies et des exemples sur la façon d'utiliser proxys pour faire pivoter les adresses IP en python avec des étapes de codage simples.