[테스트 환경]
- 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
'Programming' 카테고리의 다른 글
| 업종 별 종가 합계 구하기 (0) | 2016.04.24 |
|---|---|
| [Python]주식 종목 데이터 및 일별 시세 데이터 DB적재 (0) | 2016.04.22 |
| Python Parallel로 DB 데이터 읽어오기 (0) | 2016.04.18 |
| Python Parallel 예제 소스 분석 (0) | 2016.04.17 |
| Python Parallel 설치하기 (0) | 2016.04.17 |