リハビリ 人工知能 理学療法 Deep learning Deep Neural Network ディープラーニング AI 鍼灸

人工知能・リハビリ・日記・理学療法

タイトルはAIですが、個人的な日記なので、あまり気になさらないように。

PythonでぐるなびAPIを使って、飲食店の情報を集める。

どうも、Guchiです。

 

 

Pythonで、ぐるなびAPIを使って、飲食店の情報を集める。

社会医学の研究に使用したいと考えております。

特定の住所の飲食店の住所、電話番号をcsvファイルに自動で保存するというものです。

 

 

# coding: utf-8
import csv
import requests
import json
import urllib

####################
#都道府県名, 市町村名
pref_name = "◯◯県"
city_name = "◯◯市"

#出力ファイル名
output_file_name = "guchhi.csv"

#APIキー
api_key = "  your key   "

#ヘッダー行の有無
header_flag = True
####################

header = '店名', '住所', '電話番号', '電子マネー決済の可否'
pref_codes = {'北海道': 'PREF01', '青森県': 'PREF02', '岩手県': 'PREF03', '宮城県': 'PREF04', '秋田県': 'PREF05', '山形県': 'PREF06', '福島県': 'PREF07', '茨城県': 'PREF08', '栃木県': 'PREF09', '群馬県': 'PREF10', '埼玉県': 'PREF11', '千葉県': 'PREF12', '東京都': 'PREF13', '神奈川県': 'PREF14', '新潟県': 'PREF15', '富山県': 'PREF16', '石川県': 'PREF17', '福井県': 'PREF18', '山梨県': 'PREF19', '長野県': 'PREF20', '岐阜県': 'PREF21', '静岡県': 'PREF22', '愛知県': 'PREF23', '三重県': 'PREF24', '滋賀県': 'PREF25', '京都府': 'PREF26', '大阪府': 'PREF27', '兵庫県': 'PREF28', '奈良県': 'PREF29', '和歌山県': 'PREF30', '鳥取県': 'PREF31', '島根県': 'PREF32', '岡山県': 'PREF33', '広島県': 'PREF34', '山口県': 'PREF35', '徳島県': 'PREF36', '香川県': 'PREF37', '愛媛県': 'PREF38', '高知県': 'PREF39', '福岡県': 'PREF40', '佐賀県': 'PREF41', '長崎県': 'PREF42', '熊本県': 'PREF43', '大分県': 'PREF44', '宮崎県': 'PREF45', '鹿児島県': 'PREF46', '沖縄県': 'PREF47'}
url = 'https://api.gnavi.co.jp/RestSearchAPI/v3/?keyid=' + api_key + '&pref=' + pref_codes[pref_name] + "&freeword=" + urllib.parse.quote(city_name) + "&hit_per_page=100&offset_page="

loop_flag = True
page_num = 1
results = []

#APIから取得
while(loop_flag):
now_url = url + str(page_num)
# リクエス
res = requests.get(now_url)
responses = json.loads(res.text)

#エラーレスポンス
if('error' in responses):
loop_flag = False

#正常動作
else:
for rest in responses["rest"]:
if(pref_name + city_name in rest["address"]):
results.append([rest["name"], rest["address"], rest["tel"], not rest["e_money"]==''])
page_num +=1

#ヘッダー行の追加
if(header_flag):
results = header + results

#結果の書き込み
with open(output_file_name, 'w') as f:
writer = csv.writer(f)
writer.writerows(results)

 

 

 

 

takuma-ai.hatenablog.com

 

takuma-ai.hatenablog.com