Python:获取用户';自动进入哪个国家?

Python:获取用户';自动进入哪个国家?,python,geolocation,Python,Geolocation,使用一些API可能有一种简单的方法来实现这一点,但web编程不是我的专长如何用Python计算用户所在国家?我需要使用与操作系统无关的解决方案,我更愿意只使用标准库。我可以用IP地址做些什么吗?您可以使用Python的geo IP: 它的默认免费数据库足够准确地获取用户的国家/地区。给出了一个很好的答案,但由于它是以评论而不是回复的形式出现,我无法将其标记为我接受的答案。不过,谢谢你的帮助 如果您知道用户的公共IP,则可以使用。下面是获取位置和时区的Python 3.4.2代码 >>

使用一些API可能有一种简单的方法来实现这一点,但web编程不是我的专长如何用Python计算用户所在国家?我需要使用与操作系统无关的解决方案,我更愿意只使用标准库。我可以用IP地址做些什么吗?

您可以使用Python的geo IP:
它的默认免费数据库足够准确地获取用户的国家/地区。

给出了一个很好的答案,但由于它是以评论而不是回复的形式出现,我无法将其标记为我接受的答案。不过,谢谢你的帮助

如果您知道用户的公共IP,则可以使用。下面是获取位置和时区的Python 3.4.2代码

>>> import requests
>>> ip = '141.70.111.66'
>>> url = 'http://freegeoip.net/json/'+ip
>>> r = requests.get(url)
>>> js = r.json()
>>> js['country_code']
'DE'
>>> js['country_name']
'Germany'
>>> js['time_zone']
'Europe/Berlin'
>>> js['city']
'Stuttgart'
>>> js.items()
dict_items([('latitude', 48.7667), ('ip', '141.70.111.66'), ('region_code', 'BW'), ('country_code', 'DE'), ('city', 'Stuttgart'), ('zip_code', '70173'), ('country_name', 'Germany'), ('longitude', 9.1833), ('region_name', 'Baden-Württemberg Region'), ('time_zone', 'Europe/Berlin'), ('metro_code', 0)])

您将需要一个ip表。。。表示不同ip范围的地理区域。。。或者使用API并对所述API执行json调用或rpc调用..也许像@JoranBeasley这样的东西是正确的。我会使用一个服务来做这件事。这项服务还建议您使用python库:Joran,这正是我需要的!非常感谢。可惜我不能接受评论。