Méthode d'accès à l'API Guru Navi

Méthode d'accès à l'API Guru Navi

① Accédez à l'URL suivante et créez un compte. https://api.gnavi.co.jp/api/

② Une clé sera émise, alors copiez-la.

③ Accédez à l'API du restaurant. Exemple: un restaurant de sushis dont l'adresse est Ginza

https://api.gnavi.co.jp/RestSearchAPI/v3/?keyid=Clé émise en ②&address=%E9%8A%80%E5%BA%A7&category_s=RSFST03001

④ Explication API de recherche de restaurant: https://api.gnavi.co.jp/RestSearchAPI/v3/ keyid: la clé émise en ② adresse adresse category_s: Système de restauration (restaurant de sushi, restaurant de viande grillée, etc ...)

⑤ Accès avec Python

access_gurunabi.py


#Importation de module
import json
import urllib.request
import ssl

#Spécifiez la méthode d'authentification comme TLSv1
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)

#Spécifier la valeur du paramètre à transmettre à l'API
# https://api.gnavi.co.jp/api/manual/restsearch/
# https://api.gnavi.co.jp/api/tools/     #Vous pouvez tester l'API ici
base_url = "https://api.gnavi.co.jp/RestSearchAPI/v3/"

key =Clé émise en ②

#####Pour la clé ci-dessus, spécifiez le keyid obtenu lors de la création du compte API GuruNavi.
# shop_name = "Viande grillée" #Si vous souhaitez inclure le nom du magasin, supprimez les commentaires
g_code = 'RSFST03001' #Code de sushi
address = 'Ginza'
#Définition des fonctions qui utilisent l'API
def gnavi_api(g_code,address):
    params = urllib.parse.urlencode({   
        'keyid': key,
        # 'name' : shop_name, #Si vous souhaitez inclure le nom du magasin, supprimez les commentaires
        'category_s' : g_code,
        'address' : address
    })
    url = base_url + '?' + params
    print(url)
    response = urllib.request.urlopen(url,context=context)
    return response.read()

#Obtenir des informations de l'API à l'aide de fonctions
data = gnavi_api(g_code,address)

#Convertir les informations acquises du format JSON en type dictionnaire
read_data = json.loads(data)["rest"]

#Créer une liste pour stocker une liste de noms de magasins
list_name = []

#Définition d'une fonction qui boucle par magasin et ajoute le nom du magasin à la liste
def get_name(read_data):
    for dic in read_data:
        list_name.append(dic.get("name")) 
        #list_name.append(dic.get("address")) #Cliquez ici si vous souhaitez obtenir une adresse
    return list_name

#Exécutez la fonction pour obtenir une liste de noms de magasins
get_name(read_data)

print(list_name)

Recommended Posts

Méthode d'accès à l'API Guru Navi
Accéder à l'API Twitter avec Python
Jeton d'accès à l'API Google et jeton d'actualisation
Accéder à l'API Docker Remote avec des requêtes