핵심내용
1. 구글 맵 API의 사용 정책에 대해서 먼저 알아봅니다.
2. API Key 발급 방법에 대해서 알아봅니다.
3. 파이썬에서 google map api를 이용해 간단히 평점과 리뷰를 출력해봅시다.
1. 사용 정책
사용 정책에서 가장 중요한 것은 머니머니해도 머니
공짜인지 유무가 가장 궁금할 것이다.
결론부터 얘기하자면, "일정 조건에 한해서만 공짜이다." 그렇다면, 그 일정 조건이란 무엇일까? 매월 200$에 한해서는 요금을 부과하지 않는다고 한다. 이를 요청량으로 환산하면 28500개의 맵 로드이다.
https://mapsplatform.google.com/pricing/#pricing-grid
이외에 공홈 페이지에서 바를 움직여 서비스별 요청 건별로 월별 요금을 확인할 수 있다.
2. API 키 발급받기
너무 간단한데, 아래 네 가지 과정만 진행하면 된다.
1. 구글 클라우드 플랫폼 계정을 생성한다.
→ 결제 정보를 입력하는 것 외에는 아무런 진입장벽이 없다.
→ 주의사항 하나만 말하자면 우편번호를 진실되게 입력해야한다. 시군구에 맞게. 아무숫자나 입력하면 귀신같이 잡아냄
2. 검색창에서 Maps Platform 클릭 후 API 선택
3. 추가API 항목에서 Places API 선택 (저는 미리 선택에서 사용 설정된 API에 등록되어 있습니다.)
내가 API를 사용하는 목적은 장소에 대한 평점과 리뷰를 보는 것이기 때문에 Place API만 신청하였다.
4. 사용자 인증 정보 탭에서 사용자 인증 정보 만들기 클릭 후 API 키 선택
여기 까지 진행하면 API 탭에서 API Key를 확인할 수 있다.
※한 가지 주의사항 - API키를 소중히 관리하자.
앞서, 말했듯이 무제한 공짜가 아니다. 일정 요청량을 넘게 되면 "돈을 내야 한다". 그렇기 때문에, API Key 관리를 잘해야 하고 GCP에서도 별도의 API 키 제한 가이드를 제공하니, 재미 삼아 사용하더라도 한 번쯤 읽어보는게 좋을 것 같다.
3. 구글 맵 API를 이용해서 평점과 리뷰 데이터 출력하기
구글 맵 API를 이용하여 샘플로 평점과 리뷰 데이터를 출력해보자.
우선, 클라이언트를 만들어주어야 한다.
https://github.com/googlemaps/google-maps-services-python/blob/master/googlemaps/places.py
Github에서 place함수에 대한 상세 코드를 살펴볼 수 있다. 코드를 보다 보면 모든 함수에서 Client파라미터를 상속 받는 다는 것을 알 수 있다. 따라서, 클라이언트 클래스 인스턴스를 먼저 만들어 주어야 한다.
import googlemaps
googlemaps_client = googlemaps.Client(key='API키입력')
이제, Client 클래스 내 places함수를 이용하여 평점과 리뷰 정보를 확인해볼 것이다. 그 전에! 한 가지 알아 두어야 할 것이 있다. 바로, 어떤 방식으로 places함수에 값을 넣어줘야 할지이다.
places함수는 기본적으로 query라는 파라미터를 받는다.
이 query라는 파라미터는 크게 2가지 형태로 값을 받는데 하나는 텍스트 유형이고, 다른 하나는 휴대폰 번호 유형이다(이 경우, 국제 표준 표기법을 따라야함). 텍스트 유형의 경우, 식당 이름을 직접 입력할 수도 있고, 주소를 입력할 수도 있다.
그리고, 한 가지더 파라미터를 자세히 살펴보면 language가 있는데, return 값을 어떤 언어로 받을지에 대한 파라미터다. 따라서, language를 'ko'로 설정해 주어야 한다.
sample_result = googlemaps_client.places(query="카오카츠", language='ko')
(카오카츠는 우리집 근처 돈까스 집이다. 진짜 JMT + 서비스 최강)
영업정보/주소/위경도/평점/리뷰개수 등을 확인해볼 수 있다.
리뷰는 6개 지만 평점은 5점 그럼 리뷰도 한번 읽어보자. 리뷰의 경우, place 함수를 사용한다. places를 사용하면 query에 해당하는 모든 결과를 출력해주고 개별 결과는 places에서 place_id를 받아, place에 넘겨주는 식으로 사용한다.
(즉, 상세 리뷰 결과를 보면 돈을 따불로 내야한다는 얘기)
place_result = googlemaps_client.place(place_id = 'ChIJm8ilrh5aezURguCqnn-Gnyo', language='ko')
place_result['result']['reviews'][0]['text']
코드를 출력해보면 아래와 같이 리뷰 결과를 살펴볼 수 있다.
역시, JMT 맛집...
'딥상어동의 딥한 데이터 분석' 카테고리의 다른 글
[데이터로 보는 주식] 물타기 도대체 언제 할것이냐, 그것이 문제로다. (2) | 2021.12.05 |
---|---|
[텍스트 분석] 파이썬으로 이청준 작가님 눈길 다시보기 (0) | 2021.10.10 |
제 블로그에 와주셔서 감사합니다! 다들 오늘 하루도 좋은 일 있으시길~~
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!