IP2Location 이용하여 IP 위도, 경도, 국가, 주소 확인하기

 

IP2Location에서 제공하는 무료 데이터베이스를 이용하여 IP 위도, 경도, 국가, 주소등 지도 위치를 확인하는 방법에 대해 알아보겠습니다.


IP2Location 장점과 단점

 

일단 가장큰 장점은 무료이면서 데이터베이스를 이용하는 것이기 때문에 검색하는데 횟수 제한이 없다는 점입니다.

하지만 데이터베이스 전체 가지고 있어야해서 그만큼 용량을 확보해야한다는 단점이 있습니다.


데이터베이스 준비하기

 

https://lite.ip2location.com/ip2location-lite

 

IP2Location LITE Database

IP2Location LITE geolocation database provides geographical information of an IP address such as the country, city, region, latitude, longitude, and much more.

lite.ip2location.com

 

위 링크에 들어가서 원하는 데이터베이스를 선택하면 Format이 BIN과 CSV 두가지가 있는데 원하는 IP 형식의 BIN파일을 다운로드 합니다.

 


IP2Location 라이브러리 설치하기

pip install IP2Location

 

pip를 이용하여 라이브러리를 설치합니다.


IP2Location 라이브러리 사용하기

 

import IP2Location, os

ip2location_db = IP2Location.IP2Location(os.path.join("BIN파일 폴더경로", "BIN파일 이름"))
#ip2location_db = IP2Location.IP2Location(os.path.join("/home/user/db", "IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE-ISP-DOMAIN-NETSPEED-AREACODE-WEATHER-MOBILE-ELEVATION-USAGETYPE-ADDRESSTYPE-CATEGORY-DISTRICT-ASN-SAMPLE.BIN"))
data = ip2location_db.get_all("19.5.10.1")

print("Country Code          : " + data.country_short)
print("Country Name          : " + data.country_long)
print("Region Name           : " + data.region)
print("City Name             : " + data.city)
print("ISP Name              : " + data.isp)
print("Latitude              : " + data.latitude)
print("Longitude             : " + data.longitude)
print("Domain Name           : " + data.domain)
print("ZIP Code              : " + data.zipcode)
print("Time Zone             : " + data.timezone)
print("Net Speed             : " + data.netspeed)
print("Area Code             : " + data.idd_code)
print("IDD Code              : " + data.area_code)
print("Weather Station Code  : " + data.weather_code)
print("Weather Station Name  : " + data.weather_name)
print("MCC                   : " + data.mcc)
print("MNC                   : " + data.mnc)
print("Mobile Carrier        : " + data.mobile_brand)
print("Elevation             : " + data.elevation)
print("Usage Type            : " + data.usage_type)
print("Address Type          : " + data.address_type)
print("Category              : " + data.category)
print("District              : " + data.district)
print("ASN                   : " + data.asn)
print("AS                    : " + data.as_name)

 

위와 같이 다운로드한 BIN 파일을 메모리에 불러와 사용할 수 있습니다.


마무리

 

잘못된 점이 있거나 궁금한 점이 있다면 언제든지 문의해주시기 바랍니다!

728x90
반응형

 

파이썬 에러 Fatal error in launcher: Unable to create process using


에러 환경

 

OS: Windows10

Python: 3.8.6


에러 원인

 

대부분 python, pip의 경로가 서로 다르거나 권한이 없을때 에러가 발생합니다.

Fatal error in launcher: Unable to create process using '"d:\python_test\testpy\scripts\python.exe"  "D:\Python_test\Testpy\Scripts\pip.exe" install IP2Location': 
??? ??? ?? ? ????.

해결 방안

 

방법1.

python -m 명령어를 사용하여 pip를 사용하거나 pip를 재설치합니다.

# python -m 명령어를 사용하여 pip 사용 
python -m pip install 패키지

# pip 재설치
python -m pip install --upgrade --force-reinstall pip

 

 

방법2.

Windows 환경 변수를 등록합니다.

 

[윈도우키] + r 눌러 실행을 띄우고 sysdm.cpl ,3 를 실행시킵니다.

 

 

위와 같이 시스템 속성창이 뜨면 [환경변수]를 클릭합니다.

 

 

Path에 현재 사용중인 파이썬 위치를 등록해줍니다.

 

방법3.

가상환경을 사용할 경우 가상환경을 업데이트합니다. 

python -m venv --upgrade testpy

 

방법4.

PyCharm, VS Code, CMD 등 관리자 권한으로 실행합니다.


마무리

 

잘못된 점이 있거나 궁금한 점이 있다면 언제든지 문의해주시기 바랍니다!

728x90
반응형

+ Recent posts