我想获取python中的用户位置。我认为这在某种程度上是可能的,因为谷歌能够做到这一点(https://maps.google.com/击中D-Pad下面的圆圈。)
有谁知道怎么做?
答案 0 :(得分:2)
如果您想自己推送,有些网站会以各种格式提供有关您的IP地址的信息。
http://ipinfo.io/json将提供以下内容:
{
"ip": "12.34.56.78",
"hostname": "XXXXX.com",
"city": "Saint-Lambert",
"region": "Quebec",
"country": "CA",
"loc": "45.5073,-73.5082",
"org": "AS577 Bell Canada",
"postal": "J4P"
}
就像Joran上面所说的那样,这并不准确。我不在圣兰伯特,我在蒙特利尔,但它并不是那么远。
您可以使用urllib2.urlopen在Python中获取它,然后使用json模块将其转换为dict。
import json
import urllib2
def location_lookup():
try:
return json.load(urllib2.urlopen('http://ipinfo.io/json'))
except urllib2.HTTPError:
return False
location = location_lookup()
# print city and latitude/longitude
print location['city'] + ' (' + location['loc'] + ')'
对于上面的JSON输出,这个Python代码将给出
Saint-Lambert (45.5073,-73.5082)