Maison > développement back-end > Tutoriel Python > Travailler avec des API en Python : un guide pratique

Travailler avec des API en Python : un guide pratique

Susan Sarandon
Libérer: 2025-01-04 01:09:39
original
688 Les gens l'ont consulté

Extrait :
« Les API rendent les applications logicielles modulaires. Ils accélèrent le temps de développement des logiciels ».

Application Programming Interface (ou API) est une couche abstraite qui permet la communication entre différentes applications logicielles et composants. Comment se déroule cette communication ? Les API Web, sur lesquelles nous allons nous attarder dans cet article, se situent entre un logiciel utilisé par un client et la base de données dans laquelle les informations sont stockées. Découvrez les différents types d’API ici. La communication a lieu quel que soit le langage de programmation dans lequel les applications logicielles individuelles sont écrites ; que ce soit Python, Java, JavaScript, etc. À condition que la requête envoyée par les applications logicielles à l'API soit valide, qu'il s'agisse d'une opération de récupération, de mise à jour, de suppression ou de création.

Imaginez une plate-forme de médias sociaux comme Instagram où un utilisateur particulier publie une photo, ce qui se passe en interne, c'est que l'utilisateur fait une requête POST au point de terminaison prescrit de l'API Instagram ; envoyer une image à la base de données. Un autre utilisateur peut voir la publication en effectuant une requête GET à l'API sans même le savoir lors du défilement sur la chronologie. Vous voyez qu'il y a une communication là-bas, via l'API.

Cela peut également être le cas même lorsque les deux utilisateurs communiquent via l'API avec des applications logicielles écrites dans des langues différentes.
L'illustration ci-dessous montre deux applications logicielles distinctes communiquant via une API.

Working with APIs in Python: A Practical Guide

Photo de l'auteur

De plus, les API rendent les applications logicielles modulaires. Ils accélèrent le temps de développement de logiciels. Modulaire dans le sens où l'implémentation de l'API est séparée de notre base de code, il suffit de faire des appels à l'API. Cela accélère le temps de développement car nous n'avons pas besoin d'écrire du code qui fournit des fonctionnalités similaires à celles de l'API à partir de zéro, il suffit de l'invoquer.

Dans cet article, vous apprendrez à utiliser une API accessible au public à l'aide de Python. Restez à l'écoute.

Conditions préalables

Cet article convient aux programmeurs Python débutants cherchant à élargir leur compréhension des API avec une implémentation spécifique en Python.
Pour vous entraîner en parallèle, assurez-vous que votre machine est connectée à Internet.

Cet article sert également de rappel pour les développeurs Python plus expérimentés.

Objectifs

En allant jusqu'à la fin de cet article, vous devriez :
Découvrez la bibliothèque de requêtes en Python.
Savoir faire des requêtes GET, PUT, PATCH, DELETE et POST.
Apprenez à stocker et à utiliser les données reçues d'un appel API dans votre code.

Comprendre la bibliothèque de requêtes

requests est l'un des packages Python les plus téléchargés avec environ 30 millions de téléchargements chaque semaine selon pypi. Il vous permet d'envoyer facilement des requêtes HTTP en Python. request est un package Python testé et fiable, utilisé par de nombreuses marques établies comme IBM. Trouvez le code source ici.
Certaines des fonctionnalités « bien-aimées » des requêtes sont :

  • Keep-Alive et pooling de connexions

  • Domaines et URL internationaux

  • Séances avec persistance des cookies

  • Vérification SSL de style navigateur

  • Décodage automatique du contenu

  • Authentification de base/Digest

  • Cookies clé/valeur élégants

  • Décompression automatique

  • Corps de réponse Unicode

  • Prise en charge du proxy HTTP(S)

  • Téléchargements de fichiers en plusieurs parties

  • Téléchargements en streaming

  • Délai d'expiration de connexion

  • Demandes fragmentées

  • Support .netrc

Premiers pas avec les demandes

Je suppose que Python est déjà installé sur votre machine. Installez le package de requêtes en suivant les instructions ci-dessous :
Sous Linux ou Mac OS, ouvrez votre terminal et faites :

python3 -m pip install requests
Copier après la connexion
Copier après la connexion

Sous Windows, faites :

python -m pip install requests
Copier après la connexion
Copier après la connexion

Cela télécharge le package requêtes sur votre machine.

Faire une requête GET

Une requête GET est effectuée pour récupérer les données existantes. Il renvoie un objet qui peut être exploré plus en détail pour obtenir plus de détails sur la requête effectuée en appelant l'attribut souhaité. Voir l'exemple d'utilisation ci-dessous :

  • Créez un fichier Python, par exemple, get_request.py, dans le fichier, écrivez le code suivant :
# Import the requests module
import requests

# Making a simple GET request
response_object = requests.get("https://jsonplaceholder.typicode.com/posts")

Copier après la connexion
Copier après la connexion

À partir du réponse_objet, différents attributs peuvent être appelés :
status_code : code d'état HTTP de la réponse.

  • .text : Le corps de la réponse sous forme de chaîne.
  • .json() : analyse le corps de la réponse au format JSON (le cas échéant).
  • .content : le corps de la réponse sous forme d'octets bruts.
  • .headers : Un dictionnaire des en-têtes de réponse.
  • .cookies : Cookies définis par le serveur.
  • .url : L'URL finale après les redirections.
  • .écoulé Dans cet article, nous nous concentrerons davantage sur l'attribut .json(). Dans votre fichier request.py, appelez l'attribut .json() sur le réponse_object
json_data = response_object.json()
print(json_data)
Copier après la connexion
Copier après la connexion

Le JSON renvoyé est stocké dans la variable json_data et peut être utilisé dans votre programme.
Les éléments suivants seront affichés sur votre console.

Working with APIs in Python: A Practical Guide

Faire une requête POST

La requête POST envoie des données à un point de terminaison spécifié, créant ainsi un nouvel enregistrement. Contrairement à la méthode GET qui cherche à récupérer des données déjà existantes. Suivez les étapes ci-dessous pour faire une demande de publication :

  • Créez un nouveau fichier nommé post_request.py ou quel que soit le nom qui vous convient. Écrivez le code suivant dans le fichier :
python3 -m pip install requests
Copier après la connexion
Copier après la connexion

Cela envoie des données au point de terminaison prescrit et renvoie également un objet de réponse ; cet objet possède plusieurs informations utiles sur la requête POST envoyée. Il est accessible en appelant l'attribut approprié sur l'objet.
Appelez l'attribut status_code sur l'objet de réponse pour être sûr que l'opération a réussi. Mettez à jour votre code.

python -m pip install requests
Copier après la connexion
Copier après la connexion

Il renvoie un 201, qui indique que votre requête POST a réussi et qu'une nouvelle ressource a été créée. Comme le montre l'image ci-dessous.

Working with APIs in Python: A Practical Guide

Faire une requête PUT

La requête PUT implique le remplacement des enregistrements existants par de nouveaux ; il prend de nouvelles données de l'expéditeur ou du client et remplace les données existantes par celles-ci.
Voici comment faire une requête PUT :

  • Créez un nouveau fichier Python, pour cet article, nous utilisons put_request.py. Écrivez-y le code suivant.
# Import the requests module
import requests

# Making a simple GET request
response_object = requests.get("https://jsonplaceholder.typicode.com/posts")

Copier après la connexion
Copier après la connexion

Faire une demande DELETE

Cela garantit la suppression d'un certain enregistrement ou de certaines données. L'enregistrement à supprimer est toujours spécifié via son identifiant unique, qui est généralement spécifié.
Voici comment effectuer une opération DELETE :

  • Créez un nouveau fichier Python, pour cet article, nous utilisons delete_request.py. Écrivez-y le code suivant :
json_data = response_object.json()
print(json_data)
Copier après la connexion
Copier après la connexion

Faire une requête PATCH

Utilisez la méthode PATCH chaque fois que vous souhaitez apporter des modifications partielles à des enregistrements ou des données déjà existants.

  • Créez un nouveau fichier Python, pour cet article, nous utilisons patch_request.py. Écrivez-y le code suivant :
# Import the requests module
import requests


# Making a simple POST request


data = {'userId': 1, 'id': 1, 'title': 'This is for POST request', \
        'body': 'This body is modified for this technical writing article by Augustine Alul'}
response_object = requests.post("https://jsonplaceholder.typicode.com/posts/", data=data)


print(response_object.status_code)

Copier après la connexion

Conclusion

La bibliothèque requests fournit un moyen simpliste de faire des requêtes HTTP dans votre code Python ; il permet une interaction facile avec les API et renvoie un objet qui fournit des informations utiles sur la requête effectuée, en appelant simplement l'attribut souhaité (les attributs se trouvent dans l'article).
Travailler avec des API en Python n'a jamais été aussi simple : il existe d'autres bibliothèques populaires pour interagir avec les API en Python, mais la bibliothèque de requêtes a été choisie pour sa simplicité.
Merci d'être resté jusqu'à la fin de cet article, cela vous donne une bonne base pour commencer à travailler avec les API en Python.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal