Установить модуль 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-адресов в час, может использоваться локально без подключения к Интернету, а геокоординаты обычно более точны.