Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What python libraries can tell me approximate location and time zone given an IP address?

Looking to implement better geo-location with Python.

like image 781
ensnare Avatar asked Mar 30 '10 05:03

ensnare


2 Answers

Hostip.info is an open-source project with the goal to build/maintain a database mapping IP addresses to cities. Their about page explains the data sources relied on to populate this database.

Using HostIP, there are two ways to get location data from an IP address:

They also have a well-designed and easy-to-use RESTFUL API: just pass in your ip address after the i***p=*** in the GET request string):

import urllib  response = urllib.urlopen('http://api.hostip.info/get_html.php?ip=12.215.42.19&position=true').read()  print(response) 

Second, the Project Website also makes its complete database available for download.

like image 198
doug Avatar answered Oct 06 '22 22:10

doug


It is not a Python lib. But http://ipinfodb.com/ provides a webservice that can be easily wrapped by Python code with urllib for example.

http://api.ipinfodb.com/v3/ip-city/?key=<your_api_key>&ip=74.125.45.100 http://api.ipinfodb.com/v3/ip-country/?key=<your_api_key>&ip=74.125.45.100 

You need to request a free API key. See the API doc for details.

like image 36
luc Avatar answered Oct 07 '22 00:10

luc