---
title: "Guide d'utilisation d'un Proxy avec les requêtes Python"
slug: proxy-with-python-requests
date: 2023-06-18T05:49:47+00:00
modified: 2026-08-26T21:04:52+00:00
permalink: https://brightdata.fr/blog/abc-du-proxy/proxy-with-python-requests
type: blog
---

[ Blog ](https://brightdata.fr/blog "Blog") / [Proxy 101](https://brightdata.fr/blog/abc-du-proxy)







 [Proxy 101](https://brightdata.fr/blog/abc-du-proxy)

# Guide d’utilisation d’un Proxy avec les requêtes Python

Guide d’utilisation d’un proxy avec les requêtes Python pour le scraping web et pourquoi cela peut être utile dans un projet de scraping web.

 12 min de lecture





 [ ![](https://media.brightdata.fr/2023/04/Davis-David-50x50.png) ](https://brightdata.com/blog/authors/davis-david)

 [Davis David

 ](https://brightdata.com/blog/authors/davis-david)





 ![](https://media.brightdata.fr/2023/06/Guide-to-Using-a-Proxy-with-Python-Requests.png)







Les proxys sont des adresses IP provenant d’un serveur qui se connectent à internet en votre nom. Au lieu de transmettre directement vos requêtes aux sites web, les proxys les acheminent via un serveur, masquant votre adresse IP et votre localisation d’origine. Cela protège votre vie privée, empêche le suivi et évite les blocages. Les proxys chiffrent également vos données pour une sécurité accrue.

Dans cet article, vous apprendrez à utiliser des proxys avec les requêtes Python, notamment pour le [scraping web](/blog/how-tos/what-is-web-scraping). Le scraping web consiste à extraire des données de sites web, mais de nombreux sites ont des restrictions. Les proxys aident à [contourner ces restrictions](/blog/proxy-101/how-to-bypass-an-ip-ban) en changeant votre IP et votre localisation, rendant plus difficile la détection et le blocage par les sites web. Vous pouvez aussi utiliser plusieurs proxys pour distribuer les requêtes et accélérer le processus.

Ensuite, vous apprendrez à implémenter un proxy dans votre projet en utilisant le package Python Requests.

## <a></a>Comment utiliser un Proxy avec une requête Python

Pour utiliser un proxy avec une requête Python, vous devez créer un nouveau projet Python sur votre ordinateur afin d’écrire et d’exécuter les scripts Python pour le scraping web. Créez un répertoire (*ex.* `web_scrape_project`) où vous stockerez vos fichiers de code source.

Tous les codes de ce tutoriel sont disponibles dans ce dépôt GitHub.

## <a></a>Installer les packages

Après avoir créé votre répertoire, vous devez installer les packages Python suivants pour envoyer des requêtes à la page web et collecter les liens :

- La page web de Bright Data

## <a></a>Composants d’une adresse IP de Proxy

Avant d’utiliser un proxy, il est préférable d’en comprendre les composants. Voici les trois composants principaux d’un serveur proxy :

1. **Le protocole** indique le type de contenu auquel vous pouvez accéder sur internet. Les protocoles les plus courants sont HTTP et HTTPS.
2. **L’adresse** indique l’emplacement du serveur proxy. L’adresse peut être une IP (*ex.* `192.167.0.1`) ou un nom d’hôte DNS (*ex.* `proxyprovider.com`).
3. **Le port** sert à diriger le trafic vers le bon processus serveur lorsque plusieurs services s’exécutent sur une même machine (*ex.* numéro de port `2000`).

En combinant ces trois composants, une adresse IP de proxy ressemblerait à ceci : `192.167.0.1:2000` ou `proxyprovider.com:2000`.

## <a></a>Comment définir les Proxys directement dans les requêtes

Il existe plusieurs façons de définir des proxys dans les requêtes Python, et dans cet article, vous examinerez trois scénarios différents. Dans ce premier exemple, vous apprendrez à définir des proxys directement dans le module requests.

Pour commencer, vous devez importer les packages Requests et Beautiful Soup dans votre fichier Python pour le scraping web. Créez ensuite un répertoire appelé `proxies` contenant les informations du serveur proxy pour masquer votre adresse IP lors du scraping de la page web. Vous devez définir à la fois les connexions HTTP et HTTPS vers l’URL du proxy.

Vous devez également définir la variable Python pour définir l’URL de la page web dont vous souhaitez extraire les données. Pour ce tutoriel, l’URL est [https://brightdata.com/](/)

Ensuite, vous devez envoyer une requête GET à la page web en utilisant la méthode `request.get()`. La méthode prend deux arguments : l’URL du site web et les proxys. La réponse de la page web est ensuite stockée dans la variable `response`.

Pour collecter les liens, utilisez le package Beautiful Soup pour analyser le contenu HTML de la page web en passant `response.content` et `html.parser` comme arguments à la méthode `BeautifulSoup()`.

Utilisez ensuite la méthode `find_all()` avec `a` comme argument pour trouver tous les liens sur la page web. Enfin, extrayez l’attribut `href` de chaque lien en utilisant la méthode `get()`.

Voici le code source complet pour définir les proxys directement dans les requêtes :

```none
# import packages.
import requests
from bs4 import BeautifulSoup

# Define proxies to use.
proxies = {
    'http': 'http://proxyprovider.com:2000',
    'https': 'http://proxyprovider.com:2000',
}

# Define a link to the web page.
url = "https://brightdata.com/"

# Send a GET request to the website.
response = requests.get(url, proxies=proxies)

# Use BeautifulSoup to parse the HTML content of the website.
soup = BeautifulSoup(response.content, "html.parser")

# Find all the links on the website.
links = soup.find_all("a")

# Print all the links.
for link in links:
    print(link.get("href"))

```

Lorsque vous exécutez ce bloc de code, il envoie une requête à la page web définie en utilisant l’adresse IP du proxy, puis retourne la réponse contenant tous les liens vers cette page web :

![](https://media.brightdata.fr/2023/12/link-to-webpage-2.png)## <a></a>Comment définir les Proxys via des variables d’environnement

Parfois, vous devez utiliser le même proxy pour toutes vos requêtes vers différentes pages web. Dans ce cas, il est judicieux de définir des variables d’environnement pour votre proxy.

Pour rendre les variables d’environnement du proxy disponibles chaque fois que vous exécutez des scripts dans le shell, exécutez la commande suivante dans votre terminal :

```none
export HTTP_PROXY='http://proxyprovider.com:2000'
export HTTPS_PROXY='https://proxyprovider.com:2000'

```

Ici, la variable `HTTP_PROXY` définit le serveur proxy pour les requêtes HTTP, et la variable `HTTPS_PROXY` définit le serveur proxy pour les requêtes HTTPS.

À ce stade, votre code Python comporte quelques lignes de code et utilise les variables d’environnement chaque fois que vous effectuez une requête vers la page web :

```none
# import packages.
import requests
from bs4 import BeautifulSoup

# Define a link to the web page.
url = "https://brightdata.com/"

# Send a GET request to the website.
response = requests.get(url)

# Use BeautifulSoup to parse the HTML content of the website.
soup = BeautifulSoup(response.content, "html.parser")

# Find all the links on the website.
links = soup.find_all("a")

# Print all the links.
for link in links:
    print(link.get("href"))

```

## <a></a>Comment faire pivoter les Proxys avec une méthode personnalisée et un tableau de Proxys

La rotation des proxys est essentielle car les sites web bloquent ou restreignent souvent l’accès aux bots et scrapers lorsqu’ils reçoivent un grand nombre de requêtes provenant de la même adresse IP. Dans ce cas, les sites web peuvent soupçonner une activité de scraping malveillante et, par conséquent, mettre en œuvre des mesures pour bloquer ou limiter l’accès.

En faisant pivoter différentes adresses IP de proxy, vous pouvez éviter d’être détecté, apparaître comme plusieurs utilisateurs organiques et contourner la plupart des mesures anti-scraping mises en place sur le site web.

Pour faire pivoter les proxys, vous devez importer quelques bibliothèques Python : Requests, Beautiful Soup et Random.

Créez ensuite une liste de proxys à utiliser lors du processus de rotation. Cette liste doit contenir les URLs des serveurs proxy dans ce format : http://proxyserver.com:port :

```none
# List of proxies
proxies = [
    "http://proxyprovider1.com:2010", "http://proxyprovider1.com:2020",
    "http://proxyprovider1.com:2030", "http://proxyprovider2.com:2040",
    "http://proxyprovider2.com:2050", "http://proxyprovider2.com:2060",
    "http://proxyprovider3.com:2070", "http://proxyprovider3.com:2080",
    "http://proxyprovider3.com:2090"
]

```

Créez ensuite une méthode personnalisée appelée `get_proxy()`. Cette méthode sélectionne aléatoirement un proxy dans la liste de proxys en utilisant la méthode `random.choice()` et retourne le proxy sélectionné au format dictionnaire (clés HTTP et HTTPS). Vous utiliserez cette méthode chaque fois que vous enverrez une nouvelle requête :

```none
# Custom method to rotate proxies
def get_proxy():
    # Choose a random proxy from the list
    proxy = random.choice(proxies)
    # Return a dictionary with the proxy for both http and https protocols
    return {'http': proxy, 'https': proxy}

```

Une fois la méthode `get_proxy()` créée, vous devez créer une boucle qui envoie un certain nombre de requêtes GET en utilisant les proxys en rotation. Dans chaque requête, la méthode `get()` utilise un proxy choisi aléatoirement par la méthode `get_proxy()`.

Vous devez ensuite collecter les liens du contenu HTML de la page web en utilisant le package Beautiful Soup, comme expliqué dans le premier exemple.

Enfin, le code Python capture toutes les exceptions survenant pendant le processus de requête et affiche le message d’erreur dans la console.

Voici le code source complet pour cet exemple :

```none
# import packages
import requests
from bs4 import BeautifulSoup
import random

# List of proxies
proxies = [
    "http://proxyprovider1.com:2010", "http://proxyprovider1.com:2020",
    "http://proxyprovider1.com:2030", "http://proxyprovider2.com:2040",
    "http://proxyprovider2.com:2050", "http://proxyprovider2.com:2060",
    "http://proxyprovider3.com:2070", "http://proxyprovider3.com:2080",
    "http://proxyprovider3.com:2090"
]


# Custom method to rotate proxies
def get_proxy():
    # Choose a random proxy from the list
    proxy = random.choice(proxies)
    # Return a dictionary with the proxy for both http and https protocols
    return {'http': proxy, 'https': proxy}


# Send requests using rotated proxies
for i in range(10):
    # Set the URL to scrape
    url = 'https://brightdata.com/'
    try:
        # Send a GET request with a randomly chosen proxy
        response = requests.get(url, proxies=get_proxy())

        # Use BeautifulSoup to parse the HTML content of the website.
        soup = BeautifulSoup(response.content, "html.parser")

        # Find all the links on the website.
        links = soup.find_all("a")

        # Print all the links.
        for link in links:
            print(link.get("href"))
    except requests.exceptions.RequestException as e:
        # Handle any exceptions that may occur during the request
        print(e)

```

## <a></a>Utiliser le service Proxy Bright Data avec Python

Si vous recherchez un proxy fiable, rapide et stable pour vos tâches de scraping web, ne cherchez pas plus loin que Bright Data, une infrastructure de données web qui propose [différents types de proxys](/proxy-types) pour un large éventail de cas d’utilisation.

Bright Data dispose d’un vaste réseau de plus de 400M+ monthly [IPs résidentielles proxy](/proxy-types/residential-proxies) et de plus de 770 000 [proxys de centre de données](/proxy-types/datacenter-proxies) qui leur permettent de fournir des solutions proxy fiables et rapides. Leurs offres de proxys sont conçues pour vous aider à surmonter les défis du scraping web, de la vérification des publicités et d’autres activités en ligne nécessitant une collecte de données web anonyme et efficace.

[L’intégration des proxys de Bright Data](/integration) dans vos requêtes Python est simple. Par exemple, utilisez les proxys de centre de données pour envoyer une requête à l’URL utilisée dans les exemples précédents.

Si vous n’avez pas encore de compte, inscrivez-vous pour un essai gratuit Bright Data et ajoutez vos informations pour enregistrer votre compte.

Une fois terminé, suivez ces étapes pour créer votre premier proxy :

Cliquez sur **Voir le produit proxy** sur la page d’accueil pour voir les différents types de proxy proposés par Bright Data :

![Types de proxy Bright Data](https://media.brightdata.fr/2023/06/bright-data-proxy-types.png)Sélectionnez **Proxys de centre de données** pour créer un nouveau proxy, et sur la page suivante, ajoutez vos informations et enregistrez-les :

![Configuration des proxys de centre de données](https://media.brightdata.fr/2023/06/datacenter-proxies.png)Une fois votre proxy créé, vous pouvez consulter les paramètres importants (*ex.* hôte, port, nom d’utilisateur et mot de passe) pour commencer à y accéder et à l’utiliser :

![Écran des paramètres d'accès au proxy de centre de données.](https://media.brightdata.fr/2023/06/datacenter-proxy-parameters.png)Une fois que vous avez accédé à votre proxy, vous pouvez utiliser les informations des paramètres pour configurer votre URL de proxy et envoyer une requête en utilisant le package Python Requests. Le format de l’URL du proxy est `username-(session-id)-password@host:port`.

> **Remarque :** Le `session-id` est un nombre aléatoire créé en utilisant un package Python appelé `random`.

Voici à quoi ressemblerait votre exemple de code pour définir votre proxy Bright Data dans une requête Python :

```none
import requests
from bs4 import BeautifulSoup
import random

# Define parameters provided by Brightdata
host = 'brd.superproxy.io'
port = 33335
username = 'username'
password = 'password'
session_id = random.random()

# format your proxy
proxy_url = ('http://{}-session-{}:{}@{}:{}'.format(username, session_id,
                                                     password, host, port))

# define your proxies in dictionary
proxies = {'http': proxy_url, 'https': proxy_url}

# Send a GET request to the website
url = "https://brightdata.com/"
response = requests.get(url, proxies=proxies)

# Use BeautifulSoup to parse the HTML content of the website
soup = BeautifulSoup(response.content, "html.parser")

# Find all the links on the website
links = soup.find_all("a")

# Print all the links
for link in links:
    print(link.get("href"))

```

Ici, vous importez les packages et définissez les variables d’hôte, de port, de nom d’utilisateur, de mot de passe et de session\_id du proxy. Vous créez ensuite un dictionnaire `proxies` avec les clés `http` et `https` et les identifiants du proxy. Enfin, vous passez le paramètre `proxies` à la fonction `requests.get()` pour effectuer la requête HTTP et collecter les liens depuis l’URL.

Et voilà ! Vous venez d’effectuer une requête réussie en utilisant le [service proxy](/proxy-types) de Bright Data.

## <a></a>Conclusion

Dans cet article, vous avez appris pourquoi vous avez besoin de proxys ainsi que les différentes façons de les utiliser pour envoyer une requête à une page web en utilisant le package Python Requests.

Avec l’infrastructure web de Bright Data, vous pouvez obtenir des proxys fiables pour votre projet couvrant n’importe quel pays ou ville dans le monde. Ils proposent plusieurs façons d’obtenir les données dont vous avez besoin grâce à divers types de proxys et d’outils de scraping web adaptés à vos besoins spécifiques.

Que vous cherchiez à collecter des données d’étude de marché, à surveiller les avis en ligne ou à suivre les prix des concurrents, Bright Data dispose des ressources nécessaires pour accomplir le travail rapidement et efficacement.



Essai gratuit[S’inscrire avec Google![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)](# "Start free with Google")









 Table des matières







400M+ Residential Proxies

**Get 50% off** on residential proxies for 6 months! Use code **RESIGB50**.

[See pricing](/pricing/proxy-network/residential-proxies "See pricing")

1.3M+ Datacenter Proxies

Pay only for the IP, starting from $0.90.

[See pricing](/pricing/proxy-network/datacenter-proxies "See pricing")







 [ ](https://news.ycombinator.com/submitlink?t=Guide+d%26%238217%3Butilisation+d%26%238217%3Bun+Proxy+avec+les+requ%C3%AAtes+Python&u=https://brightdata.fr/blog/abc-du-proxy/proxy-with-python-requests) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Guide+d%26%238217%3Butilisation+d%26%238217%3Bun+Proxy+avec+les+requ%C3%AAtes+Python&url=https://brightdata.fr/blog/abc-du-proxy/proxy-with-python-requests) [ ](http://www.reddit.com/submit?title=Guide+d%26%238217%3Butilisation+d%26%238217%3Bun+Proxy+avec+les+requ%C3%AAtes+Python&url=https://brightdata.fr/blog/abc-du-proxy/proxy-with-python-requests)







##  Vous pourriez aussi être intéressé par

 [ ![Python Proxy Server illustration with laptop and servers.](https://media.brightdata.fr/2023/12/Python-Proxy-Server.png) ](https://brightdata.fr/blog/abc-du-proxy/python-proxy-server "Qu’est-ce qu’un serveur proxy Python ?")

 [Proxy 101



 ![Antonello Zanini](https://media.brightdata.fr/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Qu’est-ce qu’un serveur proxy Python ?

Le serveur proxy Python permet le routage des requêtes HTTP/S via un vaste réseau d’adresses IP via du code Python. Il prend en charge des fonctionnalités telles que la rotation des adresses IP, la persistance des sessions et le ciblage par géolocalisation.



 24-Dec-2023

 14 min de lecture

 ](https://brightdata.fr/blog/abc-du-proxy/python-proxy-server)

 [ ![Python IP rotation](https://media.brightdata.fr/2023/09/How-to-Rotate-IPs-in-Python.svg) ](https://brightdata.fr/blog/savoir-faire/python-ip-rotation "Comment utiliser des proxies pour faire pivoter les adresses IP en Python")

 [How Tos



 ![](https://media.brightdata.fr/2023/04/Sooter-Saalu-1-50x50.png)

Sooter Saalu





### Comment utiliser des proxies pour faire pivoter les adresses IP en Python

Découvrez comment utiliser des proxies en Python pour la rotation d’IP dans le scraping web, où trouver des proxies fiables et des conseils pour éviter les blocages.



 07-Sep-2023

 8 min de lecture

 ](https://brightdata.fr/blog/savoir-faire/python-ip-rotation)

 [ ![Guide to using cURL with Python](https://media.brightdata.fr/2023/04/Guide-to-Using-cURL-with-Python.svg) ](https://brightdata.fr/blog/savoir-faire/curl-with-python "Comment utiliser cURL avec Python")

 [How Tos









### Comment utiliser cURL avec Python

Dans cet article, vous apprendrez comment Python et cURL peuvent être utilisés ensemble pour automatiser les requêtes GET, POST et PUT, et pour télécharger des fichiers et des pages web.



 13-Apr-2023

 15 min de lecture

 ](https://brightdata.fr/blog/savoir-faire/curl-with-python)
