[PYTHON] [Bases de la science des données] Acquisition de données à partir de l'API

La technologie d'acquisition de l'information est à la base de la science des données. Cette étude.

Pour obtenir des données de l'API avec python et les afficher

Tout d'abord, essayons d'apporter des données à partir d'API en apprenant à apporter des données pour la science.

Tout d'abord, qu'est-ce que l'API

Qu'est-ce que l'API

Une convention qui définit la procédure et le format des données pour appeler et utiliser les fonctions d'un certain programme informatique (logiciel) et les données à gérer à partir d'un autre programme externe.

Si vous demandez à quelqu'un qui a des données (comme Twitter) de vous donner des données (comme un tweet sur python), il vous renverra les données, mais cela semble être une règle pour cela.

Je vais utiliser n'importe quelle API, alors obtenons quelles données d'où. J'ai faim, alors j'aime le riz. → Service web de riz ... → jappement.

Comment utiliser l'API Yelp

La documentation est ici.

La [API Console] de Yelp (https://www.yelp.com.au/developers/api_console) est pratique et vous pouvez voir comment cela fonctionne sans trop consulter la documentation. Pour le moment, écrivons un programme qui imprimera 10 restaurants par emplacement et mot-clé. Il semble que les paramètres terme '' et emplacement '' correspondent à chacun. (En regardant le document)

~~ Il devient difficile de continuer tout en expliquant ~~, donc je vais vous montrer le code ci-dessous.

C'était rauth qui semblait être pratique pour gérer les requêtes OAuth, alors je l'ai utilisé.

find_restaurant.py


import urllib2, sys
import rauth
import ConfigParser

inifile = ConfigParser.ConfigParser()
inifile.read("config/secrets.ini")

def search_params(term, location):
  params = {}
  params["term"] = term
  params["location"] = location
  params["limit"] = "10"
  return params

def get_restaurants(params):
  consumer_key = inifile.get("yelp", "consumer_key")
  consumer_secret = inifile.get("yelp", "consumer_secret")
  access_token = inifile.get("yelp", "access_token")
  access_token_secret = inifile.get("yelp", "access_token_secret")

  session = rauth.OAuth1Session(
      consumer_key = consumer_key,
      consumer_secret = consumer_secret,
      access_token = access_token,
      access_token_secret = access_token_secret)

  request = session.get("http://api.yelp.com/v2/search", params=params)

  data = request.json()
  session.close()

  return data

def main():
  term = sys.argv[1]
  location = sys.argv[2]
  params = search_params(term, location)
  response = get_restaurants(params)
  restaurants_info = response["businesses"]
  restaurant_names = []
  for restaurant_info in restaurants_info:
    restaurant_name = restaurant_info["name"]
    print restaurant_name

if __name__ == "__main__":
  main()

Wow, très simple. (Je ne connaissais pas du tout la grammaire python, alors j'ai oublié : au début.) Je viens de créer une méthode pour créer des paramètres et une méthode pour obtenir des données en appuyant sur l'API, et je les ai utilisées. business '' et `` name``` sont respectivement les noms de clé json de la réponse.

Surtout pour moi qui suis novice en python, les deux dernières lignes,

if __name__ == "__main__":
  main()

Regarde ça. (Pourquoi __name __ == "main") J'ai également vérifié le configparser. (Ceci ou quelque chose)

Eh bien, l'histoire était fausse, mais je suis revenu au sujet principal et le code était terminé, donc sur la console

python find_restaurant.py food tokyo

alors

Sushi Yamato
Sortie ouest du port de Numazu à Shinjuku
Tonki
Full Monty
Café Maruyama Nishi Azabu
Magasin AW Elements Roppongi Hills
Harajuku Gyozaro
The chef's table
Ichiran

Sortit de. Umm. Acquisition des informations de l'API terminée! (Cliquez ici)

Eh bien, cela seul est plutôt normal et c'est trop facile. Même si vous regardez le résultat, il ne s'agit que de "Oh, je suis pressé!" .. Je vais donc le tordre un peu plus. → Suite à partir de la prochaine fois, je vais coller le lien lors de la mise à jour.


Recommended Posts

[Bases de la science des données] Acquisition de données à partir de l'API
[Bases de la science des données] Collecte de données depuis RSS avec python
Acquisition de données à l'aide de l'API googlemap de python
Python: lecture de données JSON à partir de l'API Web
Acquisition des données de croissance des plantes Acquisition des données des capteurs
[Bases de la science des données] J'ai essayé d'enregistrer de csv à mysql avec python
Apprenez la science des données
Acquisition de données à partir de l'API d'analyse avec l'application Web Client API Google pour python Partie 2
Extraction de données depuis S3
Défiez 100 coups de science des données
Concours de science des données OPT
Obtenez des données de l'API d'analyse avec le client API Google pour python
Météorologie x Python ~ De l'acquisition de données météorologiques à l'analyse spectrale ~
Obtenir les données structurelles de CHEMBLID
Commentaire sur la science des données à 100 coups (P021 ~ 040)
résumé de la requête d'acquisition de données python-fitbit
Exporter des données 3D depuis QGIS
Commentaire de la science des données 100 coups (P041 ~ 060)
Commentaire sur la science des données à 100 coups (P081 ~ 100)
Essayez «100 coups sur la science des données» ①
Sortie du cours Infra_Data Science
Conseils d'acquisition de données de cours de bourse
Utilisez l'API e-Stat de Python
Créer une API qui renvoie les données d'un modèle à l'aide de turicreate