① 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)