【发布时间】:2012-01-17 20:52:06
【问题描述】:
我应该使用哪个库在 Python 中按 IP 地址进行地理编码? python 是否有类似于http://www.rubygeocoder.com/ 的东西?我很难找到任何通过 IP 进行地理编码的东西。
【问题讨论】:
标签: python django geolocation
我应该使用哪个库在 Python 中按 IP 地址进行地理编码? python 是否有类似于http://www.rubygeocoder.com/ 的东西?我很难找到任何通过 IP 进行地理编码的东西。
【问题讨论】:
标签: python django geolocation
取自this answer:
>>> 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
【讨论】:
使用 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
不同的提供者可能比其他提供者更准确,但它很实用!
【讨论】:
试试 GeoIP() 对象:
https://docs.djangoproject.com/en/dev/ref/contrib/gis/geoip/
【讨论】: