En résumé, les proxys sont des serveurs qui servent de couche externe de connexion aux services de réseau. Ils servent d'intermédiaires entre un ordinateur et le site dont un utilisateur veut extraire des informations. La demande de l'utilisateur, au lieu d'être directement envoyée au site concerné, est d'abord dirigée vers le proxy qui l'envoie ensuite au serveur final. C'est donc l'adresse IP du serveur mandataire que le site enregistre au lieu de celle de l'utilisateur.
Alors, pourquoi utiliser un proxy ?
Par exemple, s'il est nécessaire de recueillir des informations sur un site sans craindre les restrictions ou les blocages. Un proxy permet de masquer l'adresse IP de l'utilisateur réel et de modifier sa véritable identité numérique.
Un proxy d'un pays spécifique où il n'y a pas de restrictions peut être utilisé. En effet, dans certains pays, l'accès à certains programmes et sites web est limité ou bloqué.
Si un grand nombre de demandes sont envoyées à un site particulier, il y a de fortes chances que le système soit chargé. Par conséquent, le risque de blocage est grand. L'utilisation simultanée de plusieurs serveurs mandataires permet aux utilisateurs de répartir uniformément les demandes vers le site en question, évitant ainsi le blocage.
Requests est une bibliothèque permettant d'envoyer des requêtes HTTP en utilisant Python. Elle simplifie l'envoi de requêtes GET et POST. L'utilisation de Requests Python sans proxy permet d'envoyer des requêtes HTTP, mais elle ne permet pas d'assurer l'anonymat ou de contourner les restrictions.
Pour installer les requêtes, il suffit d'entrer la commande ci-dessous dans le terminal :
pip install requests
Pour vérifier que la bibliothèque requise est correctement configurée, vous devez ouvrir l'environnement de développement Python et exécuter la commande suivante :
import requests
print(requests.__version__)
Si tout a été fait correctement, le script renverra le numéro de version.
Une fois la bibliothèque requests installée, nous pouvons commencer à exécuter des requêtes HTTP. Cependant, pour incorporer un proxy, certaines configurations dans Python doivent être effectuées.
Examinons les étapes à suivre pour configurer correctement un proxy pour les requêtes en Python. Nous examinerons séparément les Python Requests avec les configurations de proxies SOCKS.
L'utilisation de Python pour mettre en place un proxy est très facile pour les utilisateurs de la bibliothèque requests. Il faut que l'adresse du serveur mandataire soit transmise dans un dictionnaire, puis utilisée lors des requêtes HTTP.
proxies = {
"http": "http://your-proxy-ip:port",
"https": "http://your-proxy-ip:port",
}
response = requests.get("http://example.com", proxies=proxies)
Lorsque l'on utilise Python Requests, l'authentification par proxy est facile à mettre en place. Regardons de plus près les détails.
proxies = {
"http": "http://username:password@your-proxy-ip:port",
"https": "http://username:password@your-proxy-ip:port",
}
response = requests.get("http://example.com", proxies=proxies)
Les deux nouveaux champs à remplir sont les suivants :
Pour les utilisateurs qui ont besoin d'un niveau d'anonymat plus élevé, ou si vous travaillez avec des sites fortement restreints, les proxys HTTP standard peuvent ne pas fonctionner. Dans ce cas, les proxys SOCKS peuvent s'avérer plus efficaces.
Pour activer la prise en charge du proxy SOCKS, une bibliothèque supplémentaire doit être installée à l'aide de la commande ci-dessous :
pip install requests[socks]
Une fois installé, Python Requests vous permet de mettre en place un proxy SOCKS qui peut être utilisé comme indiqué dans l'exemple ci-dessous.
import requests
proxies = {
"http": "socks5h://your-proxy-ip:port",
"https": "socks5h://your-proxy-ip:port",
}
response = requests.get("http://example.com", proxies=proxies)
Si le serveur proxy a besoin d'une authentification, incluez-la comme indiqué ci-dessous.
proxies = {
"http": "socks5h://username:password@your-proxy-ip:port",
"https": "socks5h://username:password@your-proxy-ip:port",
}
Lorsque vous effectuez plusieurs requêtes via un seul proxy, au lieu de l'ajouter à chaque requête, il est beaucoup plus efficace d'utiliser les sessions Python Requests avec le proxy.
Cette méthode d'utilisation des proxys permet de conserver les paramètres dans toutes les sessions. Elle simplifie également le code, améliore les performances et, surtout, facilite grandement la mise en œuvre.
Il est très facile de créer une session, il suffit de taper requests.Session().
Prenons l'exemple suivant:
import requests
# Création d'une session
session = requests.Session()
session.proxies = {
"http": "http://username:password@your-proxy-ip:port",
"https": "http://username:password@your-proxy-ip:port",
}
# Demande au cours de la session
response = session.get("http://example.com")
Toutes les Python Requests au sein de cette session utiliseront par défaut le proxy défini sans aucune configuration supplémentaire.
Lorsque vous vous engagez activement sur un site web, que ce soit à des fins de scraping ou d'automatisation, l'utilisation répétée du même proxy peut entraîner le blocage de votre compte. Il est possible de gérer ce problème en faisant tourner les proxys si vous disposez de plusieurs serveurs proxy différents.
L'exemple suivant montre la mise en œuvre d'une boucle qui fait tourner les serveurs mandataires à chaque interaction avec la page web :
import requests
import random
proxies_list = [
"http://username:password@your-proxy-ip[1]:port",
"http://username:password@your-proxy-ip[2]:port",
"http://username:password@your-proxy-ip[3]:port",
]
session = requests.Session()
for _ in range(5):
proxy = random.choice(proxies_list) # Choix aléatoire d'un mandataire
session.proxies = {"http": proxy, "https": proxy}
response = session.get("http://example.com")
print(f"Used proxy: {proxy}")
print(response.status_code)
En résumé, voici quelques suggestions qui pourraient vous aider à mieux gérer les proxies :
Dans cet article, nous avons abordé ce que sont les serveurs proxy, comment utiliser correctement un proxy dans les Python Requests, et gérer les proxys à travers des sessions pour simplifier le code. L'exemple montre également l'utilisation des proxys SOCKS et normaux, comment l'authentification est gérée, et la gestion des proxys.
Мы получили вашу заявку!
Ответ будет отправлен на почту в ближайшее время.
С уважением proxy-seller.com!
Commentaires: 0