Python でぐるなび API 使ってみた (実践編)
こんにちは、こんばんは、お疲れ様です。
最近 Python で、ぐるなびの API を使って、ぐるなびに登録されている お店の情報を取得しました。
この記事では、Python を使ってぐるなび API を使う方法をまとめます。
API がわからないという方は、以下の記事を参照すると概要を把握できると思います。
今回の作業の環境は以下の通りです。
以下が目次です。
1. Python とは
Python とは、プログラミング言語のひとつです。
プログラミング初学者が学びやすい言語と言われています。
特徴として、機械学習や画像認識との相性がよいことがあげられます。
今回は、Python をつかって、ぐるなび API を使います。
2. ぐるなび API を使うためのアカウント登録する
今回は、ぐるなびのAPI (レストラン検索API)をつかって、
お店の名前に「すし」が含まれているお店の名前の一覧を抽出します。
事前に、ぐるなびAPI を使用するためのアカウントを作成しておく必要があります。
以下のサイトから登録できます。
利用用途は、お試しの場合、試しに利用でよいでしょう。
適宜、入力を行ってください。
登録すると、メールが送られてきて、完了です。
メールに記載されている keyid は、使用するの控えておいてください。
3. Python を使って、ぐるなび API を使う
まず、全コードを載せます。
作業の流れは、コードの下に載せています。
次回の記事で、コードの解説します。
以下がコードです。
# モジュールのインポート import json import urllib.request # API に渡すパラメータの値の指定 url = "https://api.gnavi.co.jp/RestSearchAPI/v3/" key = "******************************************" ##### 上記の key は、ぐるなびAPI のアカウントを作成した際、取得したkeyidを指定 shop_name = "すし" # API を使う関数の定義 def gnavi_api(shop_name): params = urllib.parse.urlencode({ 'keyid': key, 'name' : shop_name, }) response = urllib.request.urlopen(url + '?' + params) return response.read() # 関数を使って、API から情報を取得 data = gnavi_api(shop_name) # 取得した情報をJSON形式から辞書型に変換 read_data = json.loads(data)["rest"] # お店の名前の一覧を格納する list の作成 list_name = [] # お店ごとにループを回し、お店の名前を list に追加する関数の定義 def get_name(read_data): for dic in read_data: list_name.append(dic.get("name")) return list_name # 関数を実行し、お店の名前の list を取得 get_name(read_data) # 出力 ['すし 魚游(うおゆう) 銀座店', 'すし 魚游 (うおゆう)桜木町駅前店', '本格シュラスコ&肉すし食べ放題 肉ランド 蒲田店', '天然魚・寿司居酒屋 すしまる屋 東三国店', '築地すし一番 西浅草店', '仙石すし 本店', '浅草すし若 雷門店', '日本料理 すし哲 ', '築地すし鮮 銀座5丁目店', '浅草すし若 東陽町店'] # 個人的には、 '本格シュラスコ&肉すし食べ放題 肉ランド 蒲田店' が気になります。 # ぜひ行ってみたいですね。
まとめると、API の URLにアクセスし、JSON形式のデータを取得します。
データの形式を辞書型に変換します。
for 文をつかって、お店の名前の list を取得しています。
今回は以上です。
次回は、上記のコードの解説をします。 ではでは。