Vous avez dit « wrapper Python » ?
De nombreuses API disposent d’un wrapper Python : c’est un module Python qui permet d’interroger la base de données d’un fournisseur de façon simplifiée, sans avoir à écrire les requêtes Web, ni à interpréter les réponses.
Ces dernières sont généralement écrites au format JSON, qui est un format d’échange de données, au même titre que le XML.
À partir de ces réponses, le wrapper Python génère des listes ou des dictionnaires, facilement manipulables.
Source
Utilisation du wrapper Python pour l’API de « Mars Rover Photos »
Contexte
Découvrir le site :
- Mission Spirit et Opportunity : https://www.nasa.gov/mission_pages/mer/images/index.html
- Mission Curiosity : https://www.nasa.gov/mission_pages/msl/images/index.html
Installation du wrapper
Télécharger le wrapper :
python_nasa_api-0.0.2-py3-none-any.whl (source) – Après téléchargement, vérifier que le fichier se trouve bien dans le dossier « Téléchargement » de l’utilisateur en cours.
Ouvrir un éditeur/interpréteur Python (ex : Pyzo).
Dans la console, utiliser les commandes « cd » et « ls » (comme les commandes d’un shell) pour se déplacer dans l’arborescence du système de fichier et visualiser le contenu d’un répertoire afin d’atteindre le fichier du wrapper. [ Dans certains cas la commande cd Downloads suffit]
Dans la console taper et valider la commande :
>>> pip install python_nasa_api-0.0.2-py3-none-any.whl
Des informations s’affichent dans la console sur la progression de l’installation… (variable selon la configuration de l’installation de Python)
Processing c:usersuserdownloadspython_nasa_api-0.0.2-py3-none-any.whl
Installing collected packages: python-nasa-api
Successfully installed python-nasa-api-0.0.2
Premiers pas avec le wrapper…
Obtenir un ‘jeton’ : pour cela il faut créer un compte à partir de cette adresse : https://api.nasa.gov/ et suivre les consignes données.
Le jeton donné ci-après n’a qu’une valeur indicative. Il n’est plus actif.
Dans la console, entrer les instructions suivantes les unes après les autres :
from nasaapi import MarsRovers
jeton = 'plVirWytxjNQ8XTD92IEflveR85cXOUou2NtXx'
rovers = MarsRovers(jeton, 50, 'RHAZ')
cur = rovers.curiosity()
print(cur['photos'][0]['img_src'])
Noter le type de réponse obtenue et vérifier sa validité.
On cherche à expliciter les instructions précédentes.
- Se renseigner sur les fonctions « help() », « type() » et « dir() ».
- A partir de ces fonctions :
- identifier le type de ‘rovers’ et par là même le paradigme de programmation sur lequel repose le wrapper ;
- identifier à quels paramètres correspondent les valeurs 50 et ‘RHAZ’. Chercher d’autres valeurs possibles pour ces paramètres (consulter les informations fournies sur l’API ‘Mars Rover Photos’ à cet URL : https://api.nasa.gov/) et tester ;
- identifier le type de ‘cur’ et le cas échéant le nombre d’éléménts qu’il comporte ;
- identifier d’autres valeurs possibles à la place de ‘img_src’.