无论如何,我可以通过python获取我的设备的位置.目前我不得不使用selenium并打开浏览器,使用位置服务网站并将其结果设置为lat/long变量.
但有更简单的方法吗?
更新:我在我的RaspberryPi上使用3G加密狗,所以寻找一种方法来获得特定的lat/long - 我可以通过Web服务成功地做到这一点,只是想知道这些请求是否有更快的方法内置到python中?
我正在开发一个项目,需要在我的数据库中存储用户位置.我得到了该用户的公共IP地址.但我无法获得用户位置.我尝试了几种方法(来自StackOverflow),但我没有找到任何提示.如下所示
url = urllib.urlopen("http://api.hostip.info/get_html.php?ip=%s&position=true" % ip)
data = re.compile('^[^\(]+\(|\)$').sub('', url.read())
print data
Run Code Online (Sandbox Code Playgroud)
但我得到的结果是
Unknown Country?) (XX)
City: (Unknown City?)
Run Code Online (Sandbox Code Playgroud)
其他方式:
import urllib
response = urllib.urlopen("http://api.hostip.info/get_html.php?ip={}&position=true".format(ip)).read()
print(response)
Run Code Online (Sandbox Code Playgroud)
但结果是
Country: (Unknown Country?) (XX)
City: (Unknown City?)
Latitude:
Longitude:
IP: 115.xxx.xxx.xx
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激!
使用pytz,我能够获得如下所示的时区列表:
>>> from pytz import country_timezones
>>> print(' '.join(country_timezones('ch')))
Europe/Zurich
>>> print(' '.join(country_timezones('CH')))
Europe/Zurich
Run Code Online (Sandbox Code Playgroud)
鉴于我从用户那里获得了Country和City字段,我该如何确定城市的时区?
有没有一种方法可以使用Python获取计算机的物理位置,最好不使用API或使用免费的API?我进行了一些搜索,发现唯一的免费API非常非常不准确。我只需要稍微准确一点,因为这是为了获取当地天气。