Comment utiliser les données de l'API JSON dans Python

Comment utiliser les données de l'API JSON dans Python

Objectif

Consommer une API JSON à Python.

Distribution

Cela fonctionnera sur n'importe quelle distribution Linux.

Exigences

Une installation Linux fonctionnelle avec Python.

Difficulté

Facile

Conventions

  • # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
  • $ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Introduction

L'une des principales raisons pour lesquelles vous souhaitez travailler avec JSON à Python est de consommer des API. Il existe des centaines d'excellentes API publiques et prête à l'emploi dans votre application. Même d'énormes joueurs sur le Web, comme Facebook et Twitter, sur les API pour que vous puissiez travailler avec.

Vous pouvez créer des applications entières autour des données de l'API, y compris la création d'applications Web qui agrégent, manipulent et affichent ces données de manière pratique.

Configurer un fichier

Avant de commencer à travailler avec des API, vous devez configurer un fichier Python. C'est beaucoup plus facile que de travailler dans l'interprète. Commencez par importer le module JSON.

Importer JSON

Tu auras besoin Urllib3. Il vous permet d'accéder à une URL avec Python.

Importer Urllib3

Ouvrir l'URL

Bien qu'il y ait une tonne de grandes API sur Internet, la plupart d'entre elles vous obligent à vous inscrire afin d'obtenir une clé API. Ce guide n'est pas à ce sujet ou en utilisant une API spécifique. L'API OpenDota donne accès à une tonne de données relatives au populaire MOBA DOTA2 sans avoir besoin de s'inscrire ou d'obtenir une clé. Au cas où vous ne le sauriez pas, il est disponible pour Linux. C'est l'API que ce guide utilisera.

Vous pouvez trouver la documentation de toute l'API à https: // docs.OpenDota.com, Mais ce guide utilisera le https: // api.OpenDota.com / api / héros Données sur les héros.

Commencez par créer un PoolManager () objet utilisant Urllib3. C'est cet objet que vous pouvez utiliser pour faire des demandes à un site Web.

http = Urllib3.PoolManager () 

Faire un OBTENIR Demande d'utilisation du http objet que vous venez de créer à l'API DOTA.

héros = http.request ('get', 'https: // api.OpenDota.com / api / héros ')

Analyser le JSON

Essayez d'imprimer le héros variable que vous venez de créer.

Impression (héros)

Pas ce à quoi vous attendiez? C'est toujours un objet de demande, et il a plus de données que vous avez besoin. Essayez d'imprimer héros.données

imprimer (héros.données)

Cela semble plus proche, mais ce n'est toujours pas tout à fait là. Décoder les données à UTF-8.

imprimer (héros.données.Decode ('UTF-8'))

Maintenant, c'est Json. Vous pouvez analyser cela avec le module JSON.

Heroes_Dict = JSON.charges (héros.données.Decode ('utf-8')) imprimer (Heroes_Dict)

Travailler avec les données

Vous avez un dictionnaire Python contenant toutes les données de l'API. Vous pouvez maintenant utiliser ces données comme vous choisissez. Essayez d'itréter dessus.

pour Hero in Heroes: Print (Heroes ['localisé_name']))

Votre boucle imprimera le nom de chaque héros dans dota2. Vous pouvez voir dans le dictionnaire qu'il y a plus de données de tonne, mais vous savez comment accéder.

Réflexions de clôture

La route là-bas n'était pas si directe, mais elle est certainement arrivée là. Si vous faites cela avec des touches API, cela changera simplement la structure URL. Tout le reste devrait rester le même tout au long. Vous êtes désormais équipé pour accéder aux données API de vos programmes Python.

Exercer

Choisir et API de https: // github.com / toddmotto / public-apis, et le convertir en dictionnaire Python. Itérer dessus et imprimer les valeurs d'au moins deux clés.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Meilleur lecteur de musique pour Linux
  • Téléchargement Linux
  • Commandes Linux: les 20 meilleures commandes les plus importantes que vous devez…
  • Meilleure distribution Linux pour les développeurs
  • Comment activer les immenses pages sur Linux
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Commandes Linux de base
  • Comment imprimer l'arbre du répertoire à l'aide de Linux