developers.google.com/maps/documentation/directions/overview
들어간다
한달에 무료 크래딧 200불씩 주는데 카드 등록 해야함.
여기 써있는대로 시키는대로 하시고..
키 발급까진 쉬운데 라이브러리에 들어가서 사용하고자하는 구체적인 API 명을 검색해서 "사용"을 눌러주어야 함.
import urllib.request, json
def transit_route(origin,destination,d_time):
#Google MapsDdirections API endpoint
endpoint = "https://maps.googleapis.com/maps/api/directions/json?"
api_key= "api_key"
nav_request = 'origin={}&destination={}&departure_time={}&mode=transit&transit_routing_preference=fewer_transfers&key={}'.format(origin,destination,d_time,api_key)
request = endpoint + nav_request
#Sends the request and reads the response.
response = urllib.request.urlopen(request).read()
#Loads response as JSON
directions = json.loads(response)
return directions
저기 위에 "api_key"에 본인이 발급받은 키 넣으면 끝!
api 형식은 JSON 형식으로 주는데 그냥 들여쓰기? 에 맞추어 ['인덱스']으로 원하는 값을 찾아나가면 된다.
내가 파싱에 쓴 코드도 공유
def parsing(directions):
'''
Inputs: the api result
Outputs: total travel time and location of nearby station
'''
if directions['status'] == 'OK':
# unit is seconds
total_tt = directions['routes'][0]['legs'][0]['duration']['value']
steps = directions['routes'][0]['legs'][0]['steps']
mode_list = [i['travel_mode'] for i in steps]
tt_list = [i['duration']['value'] for i in steps]
if 'TRANSIT' in mode_list:
s = mode_list.index('TRANSIT')
station_loc = steps[s]['transit_details']['departure_stop']['location']
else:
station_loc = None
return total_tt, station_loc, mode_list, tt_list
else: # if api call is not valid, return None
return None, None, None, None
데이터 셋 구축을 위한 크롤링은 제제를 받을 수 있으니 주의하자
덧
toughbear.tistory.com/entry/python-args와-kwargs-의미와-사용
API 코드짤때 활용하면 좋을듯
'사업 > python 으로 모든걸 할수있다' 카테고리의 다른 글
r 에서 회귀분석 결과 테이블로 자동 정리하기 (0) | 2021.02.24 |
---|---|
대중교통 길찾기 알고리즘 개발 (0) | 2021.01.06 |
[python] 내 코드의 연산시간을 확인하고 싶을때 (0) | 2020.10.05 |
google ortools 로 경로 최적화 문제 풀기 (스압 주의) (2) | 2020.03.25 |
google ortools routing 결과 시각화 (0) | 2020.03.24 |