在Python和/或Django中通过IP进行地理编码
我在用Python的时候,想通过IP地址来获取地理位置,应该用哪个库呢?有没有类似于http://www.rubygeocoder.com/的工具可以用在Python上?我找了很久都没找到能通过IP地址进行地理编码的东西。
3 个回答
0
试试这个 GeoIP() 对象:
https://docs.djangoproject.com/en/dev/ref/contrib/gis/geoip/
3
在GitHub/PyPi上使用Geocoder,你可以很简单地通过以下方式获取某个特定IP地址的完整JSON对象响应。
>>> import geocoder
>>> g = geocoder.ip('12.215.42.19')
>>> g.latlng
(38.0, -97.0)
>>> g.json
你也可以通过在搜索框中简单地输入'我'来查找你当前的IP地址。
g = geocoder.ip('me')
g.address
安装方法如下:
pip install geocoder
不同的服务提供商可能准确度有所不同,但这个工具是可以用的!
4
摘自 这个回答:
>>> import urllib
>>> response = urllib.urlopen(
'http://api.hostip.info/get_html.php?ip=12.215.42.19&position=true').read()
>>> print response
Country: UNITED STATES (US)
City: Aurora, TX
Latitude: 33.0582
Longitude: -97.5159
IP: 12.215.42.19