在Python和/或Django中通过IP进行地理编码

1 投票
3 回答
4445 浏览
提问于 2025-04-17 10:28

我在用Python的时候,想通过IP地址来获取地理位置,应该用哪个库呢?有没有类似于http://www.rubygeocoder.com/的工具可以用在Python上?我找了很久都没找到能通过IP地址进行地理编码的东西。

3 个回答

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

撰写回答