데이터분석
(12) 데이터분석_스타벅스 API를 이용한 프로젝트
빠스무
2023. 6. 15. 17:23
728x90
사용하기 위한것들을 import를 한다.
import requests
import folium
import json
from pandas.io.json import json_normalize
import warnings
warnings.filterwarnings('ignore')
targetSite = 'https://www.starbucks.co.kr/store/getSidoList.do'
request = requests.post(targetSite)
print(request)
print(request.text)

star_json = json.loads(request.text)
print(star_json)
print(len(star_json['list']))

sido_list = dict()
for sido in star_json['list']:
sido_list[sido['sido_cd']] = sido['sido_nm']
print(sido_list)

sido_cd = input('시도 코드를 입력하세요: ')
targetSite = 'https://www.starbucks.co.kr/store/getGugunList.do'
request = requests.post(targetSite, data={'sido_cd':sido_cd})
print(request)
print(request.text)

star_json = json.loads(request.text)
gugun_list = dict()
for gugun in star_json['list']:
gugun_list[gugun['gugun_cd']] = gugun['gugun_nm']
print(gugun_list)

# 검색하고자 하는 매장의 시도코드를 입력하세요
sido_cd = input('시도 코드를 입력하세요: ')
# 검색하고자 하는 매장의 구군코드를 입력하세요
gugun_cd = input('구군 코드를 입력하세요: ')
#해당 매장의 리스트
targetSite = 'https://www.starbucks.co.kr/store/getStore.do'
request = requests.post(targetSite, data={
'ins_lat': 37.5108295,
'ins_lng': 127.02928809999999,
'p_sido_cd':sido_cd,
'p_gugun_cd':gugun_cd,
'in_biz_cd': '',
'iend':2000,
'set_date': ''
})
star_json = request.json()

# s_name, sido_code, sido_name, gugun_code, gugun_name, doro_address, lat, lot 컬럼만 남기고 삭제
star_df_map = star_df[['s_name', 'sido_code', 'sido_name', 'gugun_code', 'gugun_name', 'doro_address', 'lat', 'lot']]
star_df_map

# 해당 데이터를 지도에 출력
star_df_map.dtypes
star_df_map['lat'] = star_df_map['lat'].astype(float)
star_df_map['lot'] = star_df_map['lot'].astype(float)
star_df_map.dtypes

star_map = folium.Map(location=[star_df_map['lat'].mean(), star_df_map['lot'].mean()], zoom_start=12)
for index, data in star_df_map.iterrows():
popup = folium.Popup(data['s_name'] + '점 주소: ' + data['doro_address'], max_width=600)
folium.Marker(location=[data['lat'], data['lot']], popup=popup).add_to(star_map)
star_map
