Bonjour à tous ! Aujourd’hui, nous allons nous attaquer à la question suivante : « Python – comment configurer un proxy ? »
Pourquoi auriez-vous besoin d’un proxy ? À vous de décider. Par exemple, vous pourriez vouloir collecter des données sur un site qui n’apprécie pas les connexions multiples. Ou pour toute autre raison. En tout cas, vous devez configurer un proxy. C’est parti !
Le code présenté ci-dessous fonctionnera comme suit :
Nous établissons une connexion avec un site qui affiche notre adresse IP actuelle.
Nous affichons les données obtenues pour vérifier que tout fonctionne correctement.
Nous configurons le proxy et établissons une connexion via celui-ci.
Nous nous connectons à nouveau au site qui affiche notre adresse IP (cette fois-ci en tenant compte du proxy :)) et affichons les nouvelles données.
Pour vérifier notre adresse IP, nous utiliserons le site 2ip.ru (plutôt pratique). En plus, nous utiliserons des en-têtes de navigateur falsifiés pour éviter d’être repérés inutilement.
import requests # Bibliothèque pour gérer et créer des requêtes from bs4 import BeautifulSoup # Bibliothèque pour faciliter la recherche de données sur les sites headers = ({'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/69.0'}) # Création d’un en-tête de navigateur falsifié ;)
Nous avons donc : les bibliothèques nécessaires et un en-tête de navigateur falsifié. Maintenant, nous allons établir une connexion avec le site pour obtenir notre emplacement actuel et notre adresse IP :
get_location_link = 'https://2ip.ru' # Variable contenant le lien du site qui identifie notre IP et notre localisation response = requests.get(url=get_location_link, headers=headers) # Variable contenant la réponse du site (avec en-tête falsifié inclus dans la requête) soup = BeautifulSoup(response.text, 'lxml') # Variable contenant le texte de la réponse du site ip = soup.find('div', class_='ip').text.strip() # Extraction de l’adresse IP (sur 2ip.ru, elle se trouve dans un div avec la classe "ip") location = soup.find('div', class_='value-country').text.strip() # Extraction de la localisation (sur 2ip.ru, elle est dans un div avec la classe "value-country") print(ip, ':', location) # Affichage de l’adresse IP et de la localisation dans le terminal
Nous obtenons donc notre emplacement actuel et nous l’affichons. Maintenant, établissons une connexion via un serveur proxy et comparons les résultats:
print('Et maintenant via le proxy :') # Texte pour indiquer que la connexion passe par le proxy proxy_link = {'https': '8.217.12.240:59394'} # Dictionnaire contenant le protocole, l’adresse du proxy et le port. Où trouver un proxy ? Les options sont nombreuses, mais on verra cela plus tard. response = requests.get(url=get_location_link, headers=headers, proxies=proxy_link) # Établissement de la connexion avec le proxy inclus dans les paramètres soup = BeautifulSoup(response.text, 'lxml') # Variable contenant le texte de la réponse du site ip = soup.find('div', class_='ip').text.strip() # Extraction de l’adresse IP (sur 2ip.ru, elle se trouve dans un div avec la classe "ip") location = soup.find('div', class_='value-country').text.strip() # Extraction de la localisation (sur 2ip.ru, elle est dans un div avec la classe "value-country") print(ip, ':', location) # Affichage de l’adresse IP et de la localisation dans le terminal
Si tout fonctionne correctement, vous verrez dans le terminal quelque chose comme ceci :
Voici le code complet :
import requests from bs4 import BeautifulSoup headers = ({'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/69.0'}) get_location_link = 'https://2ip.ru' proxy_link = {'https': '8.217.12.240:59394'} response = requests.get(url=get_location_link, headers=headers) soup = BeautifulSoup(response.text, 'lxml') ip = soup.find('div', class_='ip').text.strip() location = soup.find('div', class_='value-country').text.strip() print(ip, ':', location) print('Et maintenant via le proxy :') response = requests.get(url=get_location_link, headers=headers, proxies=proxy_link) soup = BeautifulSoup(response.text, 'lxml') ip = soup.find('div', class_='ip').text.strip() location = soup.find('div', class_='value-country').text.strip() print(ip, ':', location)
C’est tout ce que j’avais à dire sur « comment configurer un proxy ». 🙂 Merci pour votre attention ! Comme toujours, si vous avez des questions, écrivez-moi à mon adresse email ou sur Telegram.
Requêtes de recherche :
Configuration d’un serveur proxy pour le scraping Python.
Support the Blog!
Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️