Programming

[Python] Google Map api를 활용한 주소 가져오기

DBA_JSH 2017. 3. 16. 15:43

[테스트 환경]

  - Windows 7

  - MariaDB 10.1.12 

  - Python 3.5


1. Google Map API 사용 방법

  - Google Map Api를 활용하여 입력 된 주소의 정확한 주소를 가져 오는 작업을 진행 한다.


2. Google Map 인증키 가져오기 

  - Python에서 Google API 라이브러리를 사용하기 위해서는 구글계정으로 접속하여 인증키를 받아야 한다. 

  - Url(https://developers.google.com/maps/web-services/client-library?hl=ko )로 접속하여 API키로 검색하면 자세한 설명이 나온다. 


3. Google Map 라이브러리 설치 

[python@hiwdb01 /home/python/jsh]$pip3.5 install -U googlemaps
Collecting googlemaps
  Using cached googlemaps-2.4.6.tar.gz
Requirement already up-to-date: requests<=2.11.1 in /usr/local/lib/python3.5/site-packages (from googlemaps)
Installing collected packages: googlemaps
  Running setup.py install for googlemaps ... done
Successfully installed googlemaps-2.4.6

4. Python 스크립트 

from urllib.parse import quote 
from urllib.request import Request, urlopen
import ssl
import json


kor_url = quote('서울특별시 서초구 서초2동 서초대로74길 14')    
 
url = 'https://maps.googleapis.com/maps/api/geocode/json?address='+ kor_url +'&key='인증키입력'&language=ko'

req = Request(url, headers={ 'X-Mashape-Key': '인증키입력' })
ssltext = ssl.SSLContext(ssl.PROTOCOL_TLSv1)  
company_addr_json = urlopen(req, context=ssltext).read().decode('utf8')

addr = json.loads(company_addr_json)

addr_detail = addr['results'][0]

#전체 주소
full_addr = addr_detail['formatted_address']
#시도 주소 
city_addr1 = addr_detail['address_components'][4]['long_name']
#구 주소
city_addr = addr_detail['address_components'][3]['long_name']
#동,읍 주소 
go_addr = addr_detail['address_components'][2]['long_name']
#대로 주소
dong_addr = addr_detail['address_components'][1]['long_name']
#번지 주소
bunji_addr = addr_detail['address_components'][0]['long_name']
print(addr_detail)
print(full_addr)
print(city_addr1)
print(city_addr)
print(go_addr)
print(dong_addr)
print(bunji_addr)


5. 결과 출력 값

대한민국 서울특별시 서초구 서초동 서초대로74길 14
서울특별시
서초구
서초동
서초대로74길
14