python实现ip地址查询经纬度定位详解
作者:linyouyi
这篇文章主要介绍了python实现ip地址查询经纬度定位详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1、此api已经关闭
https://api.map.baidu.com/highacciploc/v1?qcip=220.181.38.113&ak=你申请的AK&extensions=1&coord=bd09ll
2、现在改成
API首页:http://lbsyun.baidu.com/index.php?title=webapi/ip-api
使用方式:https://api.map.baidu.com/location/ip?ak=请输入您的AK&coor=bd09ll
# -*- coding: utf-8 -*- import urllib import urllib2 import json import sys reload(sys) sys.setdefaultencoding('utf-8') class SendUrl(object): def send_url(self, url, headers, data=None): opener = urllib2.build_opener() request = urllib2.Request(url, data=data, headers=headers) response = opener.open(request, timeout=10) js = json.loads(response.read().decode("utf-8")) print(type(js)) #print(dir(js)) #print(js) print("================================================") print('位置:'+ js['content']['address_detail']['province'] + js['content']['address_detail']['city']) print('纬度:'+ js['content']['point']['y']) print('经度:'+ js['content']['point']['x']) print('节点:'+ js['address']) print("================================================") def Main(): # ak 需自行注册 ak = "xxxxxxxxxxxxxxxxxxxxxxxxx" sx = SendUrl() url = "https://api.map.baidu.com/location/ip" data = {"ip": "36.101.234.14", "ak": ak, "coor": "bd09ll"} headers = { 'User-Agent': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"} sx.send_url(url, headers, data=urllib.urlencode(data)) if __name__ == '__main__': Main()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。