Comment utiliser un proxy en Python

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

Nous rencontrons souvent le terme "proxy" lorsque nous travaillons dans le domaine de l'informatique. Lorsqu'il est connecté à l'internet, chaque ordinateur reçoit une adresse IP (Internet Protocol) unique qui identifie l'ordinateur et son emplacement géographique. Votre ordinateur envoie une requête chaque fois qu'il a besoin d'une information sur l'internet. La requête est

Table des matières

Nous rencontrons souvent le terme "proxy" lorsque nous travaillons dans le domaine de l'informatique. Lorsqu'il est connecté à l'internet, chaque ordinateur reçoit une adresse IP (Internet Protocol) unique qui identifie l'ordinateur et son emplacement géographique. Votre ordinateur envoie une requête chaque fois qu'il a besoin d'une information sur l'internet. La demande est envoyée à un ordinateur cible qui vérifie le type d'informations demandées. L'ordinateur cible renvoie les informations s'il est autorisé à les communiquer à notre adresse IP. Parfois, l'ordinateur souhaite obtenir des informations sur l'internet sans être identifié. Ces informations sont généralement bloquées, mais nous pouvons les obtenir en utilisant un proxy qui agit comme un intermédiaire entre le client et la machine serveur.

Les clients utilisent généralement le serveur proxy pour naviguer sur les pages web et demander des ressources de manière anonyme, car il agit comme un champ d'identification entre l'ordinateur du client et l'internet. 

Les serveurs proxy sont devenus très populaires en raison des préoccupations croissantes en matière de sécurité en ligne et de vol de données. La question se pose alors de savoir comment le serveur proxy est lié à la sécurité de notre système. Nous pouvons dire qu'un serveur proxy ajoute un niveau de sécurité supplémentaire entre notre serveur et le monde extérieur. Cette sécurité supplémentaire permet de protéger notre système contre les intrusions. 

Comment utiliser un proxy en Python ?

Pour utiliser proxys avec les requêtes Python, vous devez suivre les étapes ci-dessous.

Demandes d'importation

Importez le paquet requests qui est une simple bibliothèque HTTP. Vous pouvez facilement envoyer des requêtes par l'intermédiaire de ce paquetage sans avoir à ajouter manuellement des chaînes de requête à vos URL. Vous pouvez importer des requêtes à l'aide de la commande ci-dessous.

demandes d'importation

Créer un dictionnaire

Vous devez créer un dictionnaire proxys définissant les connexions HTTP et HTTPS. Vous pouvez donner à la variable du dictionnaire n'importe quel nom comme "proxys" qui associe un protocole à l'URL du proxy. En outre, vous devez faire en sorte que la variable URL corresponde au site web à partir duquel vous devez faire du scrape.

proxies = {
  "http":'http://203.190.46.62:8080',
  "https":'https://111.68.26.237:8080'
}
url = 'https://httpbin.org/ip'

Ici, le dictionnaire définit l'URL du proxy pour deux protocoles distincts, à savoir HTTP et HTTPS.

Créer une variable de réponse

Vous devez créer une variable de réponse qui utilise l'une des méthodes de requête. Cette méthode prend deux arguments :

  • L'URL que vous avez créée
  • Le dictionnaire que vous avez défini
response = requests.get(url,proxys = proxys)
print(response.json())

Le résultat est le suivant :

Méthodes de demande

Il existe un certain nombre de méthodes de demande comme :

  • GET - Il permet d'extraire des informations d'un serveur donné à l'aide d'une URL donnée. 
  • POST - Cette méthode demande au serveur web concerné d'accepter les données incluses dans le corps du message de demande pour les stocker.
  • PUT - Il demande que les données jointes soient stockées sous l'URL donnée.
  • DELETE - Cette méthode envoie une requête DELETE à l'URL donnée.
  • PATCH - Cette méthode de requête est prise en charge par le protocole HTTP et permet d'apporter des modifications partielles à une ressource existante. 
  • HEAD - Il envoie une requête HEAD à l'URL donnée lorsque vous n'avez pas besoin du contenu du fichier et que vous souhaitez uniquement les en-têtes HTTP ou le code d'état.

Vous pouvez utiliser la syntaxe ci-dessous pour les méthodes de requête lorsque l'URL est spécifiée. Ici, notre URL est la même que celle utilisée dans le code ci-dessus, à savoir https://httpbin.org/ip.

response = requests.get(url)
response = requests.post(url, data={"a": 1, "b": 2})
response = requests.put(url)
response = requests.delete(url)
response = requests.patch(url)
response = requests.head(url)
response = requests.options(url)

Sessions proxy

Si vous souhaitez récupérer les données des sites web qui utilisent des sessions, vous pouvez suivre les étapes ci-dessous.

Étape 1

Importer la bibliothèque des demandes.

demandes d'importation

Étape n°02

Créez un objet de session en créant une variable de session et en l'associant à la méthode Session(). 

session = requests.Session()

session.proxies = {
   'http': 'http://10.10.10.10:8000',
   'https': 'http://10.10.10.10:8000',
}

url = 'http://mywebsite.com/example'

Étape n°03

Envoyez la session proxys par le biais de la méthode requests et transmettez l'URL en tant qu'argument.

response = session.get(url)

Principaux types de proxys

Examinons les deux principaux types de proxys, à savoir ;

Proxies statiquesRotation proxys

Statique proxys

Nous pouvons définir proxys statique comme les protocoles Internet du centre de données attribués via un contrat avec un fournisseur d'accès à Internet (FAI). Ils sont conçus pour rester connectés à un serveur proxy pendant une durée déterminée. Le nom "statique" implique qu'il nous permet de fonctionner en tant qu'utilisateur résidentiel avec la même IP aussi longtemps que nécessaire. 

En bref, avec l'utilisation de proxys statique, nous obtenons la vitesse du centre de données proxys et l'anonymat élevé de proxysrésidentiel. En outre, un proxy statique nous permet d'éviter la rotation des adresses IP, ce qui simplifie considérablement son utilisation.

Les services IP statiques ne sont pas créés à l'aide de machines virtuelles, contrairement aux centres de données ordinaires proxys. Ces proxys, également connues sous le nom d'adresses IP collantes, ressemblent à de véritables consommateurs pour presque tous les sites web. 

Rotation proxys

Nous pouvons définir la rotation de proxy comme une fonction qui change notre adresse IP à chaque nouvelle requête que nous envoyons.

Lorsque nous visitons un site web, nous envoyons une requête qui montre au serveur de destination un grand nombre de données, y compris notre adresse IP. Par exemple, lorsque nous recueillons des données à l'aide d'un scraper (pour générer des prospects), nous envoyons de nombreuses requêtes de ce type. Le serveur de destination a donc des soupçons et l'interdit lorsque la plupart des demandes proviennent de la même adresse IP. 

Il doit donc y avoir une solution pour changer notre adresse IP à chaque requête que nous envoyons. Cette solution est un proxy rotatif. Ainsi, pour éviter les tracas inutiles liés à l'obtention d'un scraper pour la rotation des IP dans le cadre du web scraping, nous pouvons obtenir proxys et laisser notre fournisseur s'occuper de la rotation.

Pourquoi utiliser proxys?

Voici les raisons d'utiliser les différents types de proxys.

  • Les gestionnaires de médias sociaux apprécient que proxys leur permette de s'en tenir à un seul serveur. Si les utilisateurs se connectent constamment à leurs comptes en changeant d'adresse IP, la plateforme de médias sociaux aura des soupçons et bloquera leur profil.
  • Les sites de commerce électronique peuvent afficher des données différentes pour les utilisateurs provenant d'autres endroits et pour les visiteurs qui reviennent. En outre, le serveur est alerté si un acheteur se connecte plusieurs fois à son compte à partir de différentes adresses IP. Nous devons donc utiliser proxys pour les achats en ligne.
  • Nous avons besoin de proxys pour les études marketing manuelles, lorsqu'un spécialiste souhaite vérifier les données requises à travers les yeux d'un utilisateur à partir d'un seul endroit. 
  • La vérification des annonces permet aux annonceurs de vérifier si leurs annonces sont affichées sur les bons sites web et vues par les bonnes audiences. Le changement constant d'adresses IP permet d'accéder à de nombreux sites web différents et donc de vérifier les publicités sans blocage d'IP.
  • Lorsqu'on y accède à partir d'endroits spécifiques, le même contenu peut avoir un aspect différent ou ne pas être disponible. L'utilisation du site proxys nous permet d'accéder aux données nécessaires, quelle que soit leur localisation géographique. 
  • Nous pouvons utiliser proxys pour accéder aux données et accélérer la vitesse de navigation grâce à un bon système de cache.

Conclusion

Jusqu'à présent, nous avons vu qu'un proxy agit comme un relais entre le client et la machine serveur. Chaque fois que vous demandez des informations, votre ordinateur envoie cette demande au proxy, qui transmet ensuite les informations à l'ordinateur cible en utilisant une adresse IP différente. Votre adresse IP reste donc confidentielle. En outre, vous pouvez utiliser proxys avec le module requests de Python et effectuer diverses actions en fonction de vos besoins. Si vous avez besoin d'une IP statique avec la vitesse d'un centre de données proxys et l'anonymat élevé d'une adresse résidentielle proxys, alors proxys statique est la meilleure solution car l'adresse IP reste inchangée à chaque nouvelle demande. En revanche, les adresses tournantes proxys offrent des avantages pour les tests et le scraping.