百度高精度IP定位API调用

高精度IP定位目前只支持WiFi链接上网情况下的使用,其原理是实时建库和百度大数据分析挖掘,因此相比于普通IP定位能返回更加精确的定位结果。
目前相关参数如下:
成功率:综合定位成功率 65%
精度:90% 误差 80m 以内;95% 误差 350m
如果高精度定位失败的话,直接返回普通IP定位结果。

不废话了,直接上代码(网上也有其他人写的,不过我把函数参数多加了几个)。btw,那个ak是你要在百度开发者中心申请的。普通用户一天能调用1000次,略坑爹。

#coding:utf8
import urllib2
import json

__author__ = "Snake"

def high_accuracy_ip_location(ip, qterm, extensions,coord,ak):
    url='http://api.map.baidu.com/highacciploc/v1?qcip='\
        +ip+'&qterm='+qterm+'&ak='+ak+'&coord='+coord+'&extensions='+str(extensions)
    request = urllib2.Request(url)
    page = urllib2.urlopen(request, timeout=10)
    data_json = page.read()
    data_dic = json.loads(data_json)
    if(data_dic.has_key("content")):
        content=data_dic["content"]
        address_component=content["address_component"]
        location = content["location"]
        print "维度:" + str(location["lat"])
        print "经度:" + str(location["lng"])
        print "具体位置:"
        print "国家:" + address_component["country"].encode('utf8')
        print "省份:" + address_component["province"].encode('utf8')
        print "城市:" + address_component["city"].encode('utf8')
        print "区县:" + address_component["district"].encode('utf8')
        print "街道:" + address_component["street"].encode('utf8')
        print "门牌号:" + address_component["street_number"].encode('utf8')
        print "行政区划代码(身份证前6位):" + str(address_component["admin_area_code"]).encode('utf8')
        print "结构化地址信息:" + content["formatted_address"].encode('utf8')
        print "商圈信息:" + content["business"].encode('utf8')

        if (content.has_key("pois")):
            print "该IP地址附近POI信息如下:"
            pois = content["pois"]
            for index in range(len(pois)):
                pois_name = pois[index]["name"]
                pois_address = pois[index]["address"]
                print pois_name, pois_address
    else:
        print 'IP地址定位失败!!!'


if __name__ == '__main__':
    ak = open("./AK/authorkey").readline()
    high_accuracy_ip_location('这里填你要查询的ip地址','pc',3,'bd09',ak)

附上返回的JSON数据的格式说明

——Snake

snake

作者: snake

我们需要为这个社会做一点贡献,失去了才懂得去珍惜。

《百度高精度IP定位API调用》有1个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注