Comment utiliser des API Web reposantes en Python

Ce didacticiel présente les API Web et vous explique comment utiliser les requêtes de la bibliothèque Python pour extraire et mettre à jour des informations dans des API Web. Vous apprendrez également à interagir avec l'API Twitter à titre d'exemple..

Introduction aux API Web

Une API (Application Programming Interface) est une structure permettant de créer des services HTTP pouvant être utilisés par une grande variété de clients. Les API Web utilisent le protocole HTTP pour gérer les demandes entre le client et le serveur Web..

Parmi les API les plus courantes qui permettent aux développeurs d'intégrer et d'utiliser leur infrastructure, citons:

  1. API Google
  2. API Twitter
  3. API Amazon
  4. API Facebook

L'une des raisons les plus importantes d'utiliser une API par opposition à d'autres sources de données statiques est son temps réel. Par exemple, l'API Twitter que nous allons utiliser va extraire des données en temps réel du réseau social.

Un autre avantage est que les données changent en permanence, donc si vous les téléchargiez à intervalles, cela prendrait beaucoup de temps..

Utilisation de la bibliothèque de demandes

Pour utiliser une API, vous devez installer la bibliothèque Python de requêtes. Requests est une bibliothèque HTTP en Python qui vous permet d’envoyer des requêtes HTTP en Python..

Demandes d'installation

Dans votre terminal, tapez:

demandes d'installation de pip

Pour vérifier si l'installation a réussi, lancez la commande suivante dans votre interpréteur Python ou le terminal:

demandes d'importation

S'il n'y a pas d'erreur, l'installation a réussi.

Comment obtenir des informations à partir d'une API Web

La méthode GET est utilisée pour obtenir des informations d’un serveur Web. Voyons comment faire une demande GET pour obtenir la chronologie publique de GitHub.

Nous utilisons la variable req pour stocker la réponse de notre demande.

demandes d'importation req = requests.get ('https://github.com/timeline.json')

Maintenant que nous avons fait une demande à la timeline de GitHub, récupérons le codage et le contenu de la réponse.

demandes d'importation req = requests.get ('https://github.com/timeline.json') req.text u '"message": "Bonjour, étranger, wayfaring. Si vous avez lu ceci, alors vous ne l'auriez probablement pas \ u2019t notre billet de blog quelques années en arrière annonçant que cette API disparaîtrait: http://git.io/17AROg Ne craignez rien, vous devriez pouvoir obtenir ce dont vous avez besoin de la toute nouvelle API Événements brillante à la place. "," documentation_url ":" https://developer.github.com/v3/activity/events/#list-public-events "
demandes d'importation req = requests.get ('https://github.com/timeline.json') req.encoding 'utf-8'

Requests possède un décodage JSON intégré que vous pouvez utiliser pour obtenir la réponse d'une demande au format JSON..

demandes d'importation import json req = requests.get ('https://github.com/timeline.json') req.json () u'documentation_url ': u'https: //developer.github.com/v3/activity / events / # list-public-events ', message': Bonjour, étranger voyageur. Si vous lisez ceci, alors vous n'avez probablement pas vu notre billet de blog il y a quelques années annoncer que cette API disparaîtrait: http://git.io/17AROg Ne craignez rien, vous devriez pouvoir obtenir ce dont vous avez besoin de la nouvelle et brillante API d'événements à la place. '

Comment créer et mettre à jour des informations sur l'API Web

Les méthodes POST et PUT sont toutes deux utilisées pour créer et mettre à jour des données. Malgré les similitudes, il est important de noter que l'utilisation d'une demande POST pour mettre à jour les données génère deux entrées dans le magasin de données si deux éléments identiques sont soumis..

Créer des données (demande POST):

r = requests.post ('http://127.0.0.1/api/v1/add_item', data = 'task': 'Shopping')

Mise à jour des données (demande PUT):

r = requests.put ('http://127.0.0.1/api/v1/add_item', data = 'task': 'Shopping at 2')

Travailler avec l'API REST de Twitter

Dans cette section, vous allez apprendre à obtenir les informations d'identification de l'API Twitter, à vous authentifier auprès de l'API Twitter et à interagir avec l'API Twitter à l'aide de Python.. 

Vous pourrez également récupérer des informations à partir de comptes Twitter publics, tels que des tweets, des abonnés, etc..

Authentification avec Twitter

Nous devons nous authentifier auprès de l'API Twitter avant de pouvoir interagir avec elle. Pour ce faire, suivez les étapes suivantes:

  1. Aller à la page des applications Twitter.
  2. Cliquer sur Créer une nouvelle application (vous devez être connecté à Twitter pour accéder à cette page). Si vous n'avez pas de compte Twitter, créez-en un.

3. Créez un nom et une description pour votre application et un espace réservé pour le site Web..

4. Localisez le Onglet Clés et jetons d'accès et créez votre jeton d'accès.

5. Vous devez prendre note de la Jeton d'accès et Jeton d'accès secret puisque vous en aurez besoin pour le processus d'authentification.

6. Vous devez également prendre note de la La clé du consommateur et Secret du consommateur.

Il existe quelques bibliothèques que nous pouvons utiliser pour accéder à l'API Twitter, mais nous allons utiliser la bibliothèque python-twitter dans ce tutoriel..

Installer python-twitter

Pour installer python-twitter, utilisez:

$ pip installer python-twitter 

L'API Twitter est exposée via le twitter.Api classe, créons donc la classe en passant nos jetons et nos clés secrètes:

import twitter api = twitter.Api (consumer_key = [clé du consommateur], consumer_secret = [secret du consommateur], access_token_key = [jeton d'accès], access_token_secret = [secret du jeton d'accès])

Remplacez vos identifiants ci-dessus et assurez-vous qu’ils sont entre guillemets, c.-à-d. Consumer_key = "xxxxxxxxxx",…)

Interroger Twitter

Il existe de nombreuses méthodes pour interagir avec l'API Twitter, notamment:

>>> api.PostUpdates (statut) >>> api.PostDirectMessage (utilisateur, texte) >>> api.GetUser (utilisateur) >>> api.GetReplies () >>> api.GetUserTimeline (utilisateur) >>> api .GetHomeTimeline () >>> api.GetStatus (id_statut) >>> api.DestroyStatus (id_statut) >>> api.GetFriends (utilisateur) >>> api.GetFollowers ()

Pour obtenir des données de Twitter, nous allons effectuer un appel API à l'aide du logiciel api objet que nous avons créé ci-dessus.

Nous ferons ce qui suit:

  1. Créer un utilisateur variable et la définir égale à un pseudo Twitter valide (nom d'utilisateur).
  2. Appeler le GetUserTimeline () méthode sur le api object et passer les arguments suivants.

  • un pseudo Twitter valide
  • le nombre de tweets que vous souhaitez récupérer (compter)
  • un drapeau pour exclure les retweets (ceci est fait en utilisant include_rts = false)

Récupérons les derniers tweets de la timeline Envato Tuts + Code, à l'exclusion des retweets.

importé api = twitter.Api (consumer_key = "xxxxxxxxxxxx", consumer_secret = "xxxxxxxxxxxxxx", c’est un count = 30, include_rts = False) pour les états s dans: print s.text 

le GetUserTimeline () La méthode renverra une liste des 30 derniers tweets. Nous parcourons la liste pour imprimer les informations les plus importantes (contenu) de chaque tweet..

Voici 6 éléments qui font de Yarn le meilleur gestionnaire de paquets #JavaScript. https://t.co/N4vzIJmSJi En savoir plus sur les graphiques à barres dans la troisième partie de cette série, sur la création de graphiques interactifs à l'aide de Plotly.js. https://t.co/lyKMxSsicJ Découvrez les nouveautés en matière de support Git dans Xcode 9. https://t.co/7gGu0PV1rV Voici comment créer des signatures numériques avec Swift. https://t.co/kCYYjShJkW Dans cette astuce, découvrez comment utiliser Atom en tant qu'interface graphique Git. https://t.co/8rfQyo42xM Jetez un coup d'œil à ces 12 plugins WordPress utiles pour la mise en page. https://t.co/T57QUjEpu5 En savoir plus sur les graphiques à courbes de la deuxième partie de notre série sur la création de graphiques interactifs à l'aide de Plotly.js. https://t.co/nx51wOzSkF Profitez de quelques bons cadeaux avec notre offre spéciale du 10e anniversaire, https://t.co/AcIGTiC2re. Dans cette dernière série de notre série sur le codage d'une application en temps réel avec NativeScript: Push notifications. https://t.co/qESFVGVF4L Commencez avec des tests de bout en bout dans Angular à l'aide de Protractor. https://t.co/TWhQZe7ihE Découvrez comment créer une API de tâches à effectuer avec Node, Express et MongoDB. https://t.co/R4DvRYiM90 Quel est le cycle de vie des activités Android? https://t.co/VUHsucaC1X Pour tout savoir sur la programmation orientée objet avec JavaScript. https://t.co/bI7ypANOx3 Amusez-vous avec les fonctions de cette dernière de notre série sur Kotlin. https://t.co/r2f2TzA5lM Voici comment rendre votre code JavaScript robuste avec Flow. https://t.co/rcdjybKL8L Créez votre propre API de tâches à effectuer avec Node et Restify. https://t.co/gQeTSZ6C5k Voici comment mettre vos contrôleurs de vue en régime avec MVVM. https://t.co/oJqNungt1O Découvrez comment soumettre votre nouvelle application iOS sur l'App Store. https://t.co/JQwsKovcaI Ce guide est l'endroit idéal pour développer vos compétences et commencer à écrire des plugins dans Go. https://t.co/68X5lLSNHp Découvrez comment tester des composants angulaires à l'aide de Jasmine. https://t.co/V5OTNZgDkR Apprenez à construire votre premier plugin #WordPress dans ce nouveau cours génial. https://t.co/695C6U6D7V Dans notre dernier-né de notre série de composants d'architecture Android: LiveData. https://t.co/gleDFbqeAi Plongez dans le système de type Go. https://t.co/AUM7ZyanRO Examinez la logique sans serveur avec les fonctions de domaine. https://t.co/aYhfeMgAZc La quatrième partie du cours intensif de React pour les débutants est terminée! https://t.co/aG5NEa6yG9 En savoir plus sur la connexion sociale et Firebase dans cette nouvelle addition à la série. https://t.co/oL5z0krQD3 La création d'une application de blogging à l'aide de React Part 6 est terminée! Tags https://t.co/OzUaPQEX8E Qu'est-ce que GenServer et pourquoi devriez-vous vous en soucier? https://t.co/EmQeTBggUK Découvrez la troisième partie du cours intensif de React pour les débutants. https://t.co/dflLCUqncO Découvrez les packages et les fonctions de base de cette addition à notre série Kotlin from scratch. https://t.co/JAo2ckSgZS 

Pour récupérer les adeptes, nous utilisons le GetFriends () méthode.

import twitter api = twitter.Api (consumer_key = "ftFL8G4yzQXUVzbUCdxGwKSjJ", consumer_secret = "KxGwBe6GlgSYyC7PioIVuZ5tFAsZs7q1rseEYCOnTDIjulT0mZ", access_token_key = "314746354-Ucq36TRDnfGAxpOVtnK1qZxMfRKzFHFhyRqzNpTx", access_token_secret = "7wZ1qHS0qycy0aNjoMDpKhcfzuLm6uAbhB2LilxZzST8w") utilisateur = "@TutsPlusCode" amis = api.GetFriends (screen_name = user) pour un ami entre amis: print friend.name

Sortie

Derek Herman Cyan Ta'eed Dropbox Stoyan Stefanov Le JavaScript Ninja Dan Wellman Brenley Dueck Dave Ward Packt Karl Swedberg Envato Tuts + Web Dev_Tips Vahid Ta'eed Jarel Remick Envato Dev. Équipe 🖥 Drew Douglass 📈 Cameron Moll SitePoint John Resig Skellie Chris Coyier Envato Tuts + Envato Tuts + Design Collis

Conclusion

L'API de Twitter peut être utilisée dans une large mesure en analyse de données. Il peut également être utilisé pour résoudre des problèmes complexes liés au Big Data et pour authentifier des applications. En savoir plus sur l'API Twitter sur le site des développeurs Twitter.

.