Imaginons que nous voulions faire une requête vers l’API publique de GitHub,
sur l’URL suivante : https://api.github.com/users/<user>/repos
Dans un premier temps on peut tester avec curl
pour voir à quoi ressemble
le résultat :
curl https://api.github.com/users/nikaro/repos
Pour cet exemple on obtient du JSON en réponse, bonne nouvelle Python sait travailler nativement avec JSON.
urllib
Si on veut utiliser la bibliothèque standard de Python, on peut utiliser
urllib
et
json
.
import json
import urllib.request
# on fait la requête HTTP
response = urllib.request.urlopen("https://api.github.com/users/nikaro/repos")
# on lit le contenu de la réponse
content_bytes = response.read()
# on décode la réponse au format binaire vers texte
content_string = content_bin.decode()
# on parse le texte en tant que JSON afin de "convertir" en objet Python
data = json.loads(content_text)
print(data[0]["html_url"])
httpx
Si on veut se faciliter la vie, surtout quand on commence à faire des choses plus compliqués, on peut utiliser la bibliothèque tierce HTTPX.
import httpx
response = httpx.get("https://api.github.com/users/nikaro/repos")
data = response.json()
Commenter
Articles de blogs que je lis
40 ans de GNU
40 ans de GNU Richard Stallman ne voulait pas changer le monde. Il ne voulait pas se battre contre les moulins à vent. Il ne voulait pas réinventer la roue. Richard Stallman voulait simplement retrouver ses amis, sa communauté. Pour ce jeune homme barbu et …
– Ploum.net · 27 Sep 2023
La blogchain
Avec les réseaux sociaux, les petits espaces personnels interconnectés qu’étaient les blogs ont peu à peu disparu du paysage. Il en reste, mais les liens ne sont plus aussi forts. À la grande époque il était fréquent d’avoir des blogroll. sur un coin de c…
– Carnet de notes · 8 Sep 2023
#63 : Comment parler du vivant pour mieux l’appréhender
Baptiste Morizot est philosophe, maître de conférences à Aix-Marseille Université et auteur de plusieurs ouvrages sur les relations entre l'humain et le reste du vivant (Les Diplomates, Sur la piste animale, Manières d'être vivant…). En avril dern…
– Nourritures terrestres · 13 Aug 2023