1. 회원가입
URL : www.maxmind.com/en/geolite2/signup
2. 로그인 후 왼쪽 사이바 하단에 빨간색 네모박스의 Download Files 클릭
3. 사용 목적에 따라 GeoLite2 City 또는 GeoLite2 Country의 Download GZIP 을 클릭하여 GZIP파일로 다운
4. 반디집이나 알집등을 이용하여 압축을 풀고 빨간 네모박스의 파일을 복사하고 Python파일과 동일한 위치에 저장
5. geoip2 설치하기
명령어 : pip install geoip2
6. 소스코드 작성
import geoip2.database
#GeoLite2-Country.mmdb 사용법
country_reader = geoip2.database.Reader("GeoLite2-Country.mmdb")
country_response = country_reader.country('128.101.101.101')
print(country_response.country) #전체내용 조회
print(country_response.country.name) #국가명 조회
print(country_response.country.iso_code) #국가코드 조회
#GeoLite2-City.mmdb 사용법
city_reader = geoip2.database.Reader("GeoLite2-City.mmdb")
city_response = city_reader.city('128.101.101.101')
print(city_response) #전체내용 조회
print(city_response.country.name) #국가명 조회
print(city_response.country.iso_code) #국가코드 조회
print(city_response.city.name) #도시명 조회
print(city_response.location.latitude) #위도
print(city_response.location.longitude) #경도
7. 소스코드 실행
위와 같이 많은 정보들을 얻을 수 있습니다.
IP에 대한 국가명이나 국가코드를 알아내고자 할 때 보통 후이즈 API를 이용하지만 개수제한이 있고 한국 기준으로만 조회가 되기 때문에 실제 프로그램에 적용할 때 제약사항이 많습니다.
이를 해결하기 위해 무료로 다운 받을 수 있는 mmdb라는 툴을 이용하여 국가코드, 국가명 등을 추출하여 프로그램에 적용하였습니다.
유용하게 사용하세요 ~~
'프로그래밍 > Python' 카테고리의 다른 글
Python 한글 도메인 IP 자동 추출하기 (퓨니코드, punycode, nslookup) (866) | 2020.08.13 |
---|---|
Python csv, txt 파일 병합, 내용 합치기 (738) | 2020.08.13 |
Python 실행파일 만들기 (1916) | 2020.08.12 |
Python Thread(쓰레드) + Heapq(힙큐) + Globals()응용 (313) | 2020.08.11 |
Python Thread(쓰레드) + Queue(큐) 응용 (310) | 2020.08.10 |