通过IP地址获取经纬度

申请API

使用的网站API是https://ipstack.com/
首先我们要在网站里申请免费的API,在申请完毕后,网站会给你一个API key。

python code

在申请完毕后,首先我们定义url。
url = 'http://api.ipstack.com/{}?access_key=[your_API_key_here]'.format(ip)
随后我们就可以使用python3自带的package urllib来调用这个API。
当然在这个js结构里还有其他信息,这里就没有用就没有介绍了。

1
2
3
4
5
6
7
8
def ip2location(ip):
url = 'http://api.ipstack.com/{}?access_key=[your_API_key_here]'.format(ip)
response = request.urlopen(url)
js = json.load(response)
lat = js['latitude']
lon = js['longitude']
print('ip: {}, latitude: {}, longitude: {}'.format(ip, lat, lon))
return lat, lon