[PYTHON] [Data Science-Grundlagen] Datenerfassung über API

Die Technologie der Informationserfassung ist die Grundlage der Datenwissenschaft. Diese Studie.

Um Daten von der API mit Python abzurufen und anzuzeigen

Lassen Sie uns zunächst versuchen, Daten aus der API abzurufen, indem wir lernen, wie Daten für die Wissenschaft bereitgestellt werden.

Erstens, was ist API

Was ist API

Eine Konvention, die die Prozedur und das Datenformat zum Aufrufen und Verwenden der Funktionen eines bestimmten Computerprogramms (Software) und der von einem anderen externen Programm zu verwaltenden Daten definiert.

Wenn Sie jemanden mit Daten (z. B. Twitter) bitten, Ihnen Daten zu geben (z. B. Tweeten über Python), werden die Daten zurückgegeben, dies scheint jedoch eine Regel zu sein.

Ich werde jede API verwenden, also lassen Sie uns abrufen, welche Daten von wo stammen. Ich habe Hunger, also mag ich Reis. → Reis-Webservice ... → Aufschrei.

Verwendung der Yelp-API

Die Dokumentation ist hier.

Die [API-Konsole] von Yelp (https://www.yelp.com.au/developers/api_console) ist praktisch, und Sie können sehen, wie sie funktioniert, ohne die Dokumentation zu genau zu betrachten. Lassen Sie uns vorerst ein Programm schreiben, das 10 Restaurants nach Ort und Stichwort druckt. Es scheint, dass die Parameter `term``` und` location``` jeweils übereinstimmen. (Beim Betrachten des Dokuments)

~~ Es wird schwieriger, mit dem Erklären von ~~ fortzufahren, daher zeige ich Ihnen den folgenden Code.

Es war rauth, das für die Bearbeitung von OAuth-Anfragen praktisch zu sein schien, also habe ich es verwendet.

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, sehr einfach. (Ich kannte die Python-Grammatik überhaupt nicht, also vergaß ich zuerst `:`.) Ich habe gerade eine Methode zum Erstellen von Parametern und eine Methode zum Abrufen von Daten durch Drücken der API erstellt und diese verwendet. `" business "` und `` `name``` sind die json-Schlüsselnamen der Antwort.

Speziell für mich, der neu in Python ist, die letzten beiden Zeilen,

if __name__ == "__main__":
  main()

Überprüfen Sie dies heraus. (Warum __name __ == "main") Ich habe auch configparser überprüft. (Dies oder etwas)

Nun, die Geschichte war aus, aber ich kehrte zum Hauptthema zurück und der Code wurde vervollständigt, also auf der Konsole,

python find_restaurant.py food tokyo

damit

Yamato Sushi
Numazu Port Shinjuku West Ausfahrt
Tonki
Full Monty
Maruyama Kaffee Nishi Azabu
AW Elements Roppongi Hills Geschäft
Harajuku Gyozaro
The chef's table
Ichiran

Kam heraus. Umm. Informationsbeschaffung von API abgeschlossen! Nein. (Klicken Sie hier)

Nun, das allein ist ziemlich normal und zu einfach. Selbst wenn Sie sich das Ergebnis ansehen, geht es nur um "Oh, ich habe es eilig!" .. Also werde ich es ein bisschen mehr drehen. → Fortsetzung vom nächsten Mal. Ich werde den Link beim Aktualisieren einfügen.


Recommended Posts

[Data Science-Grundlagen] Datenerfassung über API
[Grundlagen der Datenwissenschaft] Sammeln von Daten aus RSS mit Python
Datenerfassung mit Python Googlemap API
Python: Lesen von JSON-Daten von der Web-API
Erfassung von Pflanzenwachstumsdaten Erfassung von Daten von Sensoren
[Data Science-Grundlagen] Ich habe versucht, mit Python von CSV auf MySQL zu speichern
Lernen Sie Data Science
Datenerfassung von der Analytics-API mit dem Google API-Client für die Python Part 2-Webanwendung
Daten aus S3 extrahieren
Fordern Sie 100 Data Science-Schläge heraus
OPT Data Science Wettbewerb
Abrufen von Daten aus der Analyse-API mit Google API Client für Python
Meteorologie x Python ~ Von der Wetterdatenerfassung bis zur Spektrumanalyse ~
Strukturdaten von CHEMBLID abrufen
Data Science 100 Klopfkommentar (P021 ~ 040)
Zusammenfassung der Abfrage der Python-Fitbit-Datenerfassung
Exportieren Sie 3D-Daten aus QGIS
Data Science 100 Klopfkommentar (P041 ~ 060)
Data Science 100 Klopfkommentar (P081 ~ 100)
Versuchen Sie "100 Schläge auf Data Science" ①
Infra_Data Science Course Output
Tipps zur Erfassung von Aktienkursdaten
Verwenden Sie die e-Stat-API von Python
Erstellen Sie mit turicreate eine API, die Daten aus einem Modell zurückgibt