카카오 REST API 이용하여 특정 장소의 위도(latitude) 경도(longitude) 알아내기
어떤 장소의 위도 경도가 필요할 때가 있습니다!
지도 위에 마커를 찍거나 할때 정확한 위, 경도 값이 있다면 표현하기 쉽겠죠??
그래서 카카오의 REST API를 이용하여 위, 경도를 어떻게 알아낼 수 있는지
파이썬으로 해보겠습니다
REST API 키 발급 받기
우선 아래 사이트로 접속합니다. 그리고 우 상단의 내 애플리케이션을 클릭합니다
그리고 애플리케이션 추가하기를 눌러줍니다
애플리케이션 만들때 앱 아이콘은 등록해도 되고 안해도 되며
앱 이름과 회사 이름을 입력합니다
그러면 방금 막 만들었기 때문에 아직 플랫폼이 설정되어 있지 않습니다
이에 REST API를 이용하기 위해서 웹을 설정합니다
플랫폼 설정하기를 눌러서 Web 플랫폼 등록을 눌러줍니다
그러면 위와 같은 창이 나옵니다
여기서 사이트 도메인에 'http://localhost:8080'을 입력하고 저장합니다
요약정보로 돌아가면 REST API 키가 있습니다
이 키를 이용해야 위 경도를 받아올 수 있습니다
(API 키가 노출되지 않도록 주의해주세요!!)
파이썬 코드 작성
이제 키를 발급 받았으니 파이썬 코드를 작성합니다
코드는 정말 간단합니다
https://developers.kakao.com/docs/latest/ko/local/dev-guide
위 사이트에 가시면 REST API 테스트도 가능하며
어떤 정보를 응답으로 받는지 확인할 수 있습니다
저는 주소를 입력받으면 그 주소의 위 경도를 반환하도록 하였습니다
지명의 위경도를 알고싶다면 그에 대한 설명도 키워드로 장소 검색에 나와있으니 참고하세요!!
아래 코드는 주소 검색 파이썬 코드 예제입니다
1
2
3
4
5
6
7
8
9
|
import requests
from urllib.parse import urlparse address = '서울 종로구 평동 233 3106호' url = 'https://dapi.kakao.com/v2/local/search/address.json?&query=' + address
result = requests.get(urlparse(url).geturl(), headers={'Authorization': 'KakaoAK REST_API_KEY'}).json()
match_first = result['documents'][0]['address']
lat = float(match_first['y'])
lng = float(match_first['x'])
print(lat, lng) # 위도(lat) 경도(long)
|
cs |
REST_API_KEY 부분에 위에서 확인한 API 키를 넣어주시면 됩니다
그리고 각자 원하는 정보를 뽑아내면 됩니다
응답 json 형식을 보면
제가 원하는 위, 경도 정보는 documents > address > x,y에 있습니다
그래서 위와 같이 parsing 하였습니다
간단하죠??? 다시 보니까 documents > x,y로 바로 얻어도 될것 같네요
위의 코드를 이해할줄 안다면 REST API를 이용해 원하는 정보를 모두 얻으실 수 있을거에요