Qu'est-ce que la bibliothèque Requests et pourquoi l'utiliser ?
La bibliothèque Requests est l'une des bibliothèques Python les plus populaires et les plus simples pour effectuer des requêtes HTTP. Elle offre une interface pratique pour envoyer des requêtes GET, POST, PUT, DELETE et autres types de requêtes HTTP avec un minimum de code.
Principaux avantages de la bibliothèque Requests
- Syntaxe simple et API intuitive
- Gestion intégrée des sessions et des cookies
- Traitement automatique du JSON et des formulaires
- Prise en charge de différentes méthodes d'authentification
- Possibilité de travailler avec des serveurs proxy
- Documentation complète en français et en anglais
- Communauté de développeurs active et réactive
Installation de la bibliothèque Requests
L'installation de la bibliothèque Requests se fait via le gestionnaire de paquets pip. La procédure d'installation dépend de la version de Python que vous utilisez.
Installation standard
pip install requests
Installation pour Python 3
Si plusieurs versions de Python sont installées sur votre système, utilisez la commande pip3 pour installer dans l'environnement Python 3 :
pip3 install requests
Vérification de l'installation
Après l'installation, vous pouvez vérifier son bon déroulement en important la bibliothèque dans la console Python :
import requests
print(requests.__version__)
Les bases des requêtes GET
Les requêtes GET sont utilisées pour récupérer des données depuis un serveur web. C'est le type de requête HTTP le plus courant en développement web.
Requête GET simple
import requests
response = requests.get('https://api.github.com')
print(response.status_code) # Statut de la réponse (200 = OK)
print(response.text) # Corps de la réponse sous forme de chaîne
Analyse de la réponse du serveur
Lorsque vous travaillez avec des requêtes GET, il est important d'analyser correctement la réponse reçue. L'objet response contient de nombreux attributs utiles :
status_code- le code de statut HTTP de la réponsetext- le contenu de la réponse au format textecontent- le contenu de la réponse en octetsheaders- les en-têtes de la réponseurl- l'URL finale de la requête
Utilisation des paramètres de requête
Les paramètres d'URL peuvent être transmis via un dictionnaire, ce qui rend le code plus lisible et plus facile à modifier :
params = {
'q': 'programmation python',
'page': 2,
'limit': 50
}
response = requests.get('https://www.example.com/search', params=params)
print(response.url) # Affiche l'URL construite avec les paramètres
Requêtes POST et envoi de données au serveur
Les requêtes POST sont utilisées pour envoyer des données à un serveur, par exemple lors du remplissage de formulaires ou de la création de nouvelles entrées dans une base de données.
Envoi de données de formulaire
data = {
'username': 'admin',
'password': '12345',
'email': 'admin@example.com'
}
response = requests.post('https://httpbin.org/post', data=data)
print(response.text)
Envoi de données JSON
Lorsque vous travaillez avec des API modernes, il est souvent nécessaire d'envoyer des données au format JSON. La bibliothèque Requests définit automatiquement le bon Content-Type lorsque vous utilisez le paramètre json :
import json
data = {
'name': 'Jean Dupont',
'age': 30,
'city': 'Paris'
}
response = requests.post('https://httpbin.org/post', json=data)
result = response.json() # Conversion automatique de la réponse en JSON
print(result)
Différences entre les paramètres data et json
- Le paramètre
dataenvoie les données sous forme de formulaire (application/x-www-form-urlencoded) - Le paramètre
jsonenvoie les données au format JSON (application/json)