Какие библиотеки Python могут сообщить мне приблизительное местоположение и часовой пояс с учетом IP-адреса? - PullRequest
43 голосов
/ 30 марта 2010

Хотите улучшить геолокацию с помощью Python.

Ответы [ 11 ]

0 голосов
/ 04 июня 2017

Установить модуль Python pygeoip

<code>C:>pip install pygeoip

Загрузите бинарный файл GeoLite City отсюда: https://dev.maxmind.com/geoip/legacy/geolite/

Тогда:

<code>>>> import pygeoip<br>>>> g = pygeoip.GeoIP('GeoLiteCity.dat')<br>>>> ip = '134.222.199.110' #just an example<br>>>> g.record_by_addr(ip)['latitude']<br>52.38239999999999<br>>>> g.record_by_addr(ip)['longitude']<br>4.899499999999989<br>>>> g.record_by_addr(ip)['time_zone']<br>'Europe/Amsterdam'

В отличие от решения freegeoip, которое я вижу в других комментариях, эта опция не имеет ограничений по количеству IP-адресов в час, может использоваться локально без подключения к Интернету, а геокоординаты обычно более точны.

...