可能会遇到这样的问题,服务器或者系统经常被扫描,通过IP地址我们只能查到某一个市级城市,如下图:

当我们想具体到街道甚至门牌号,该怎么办???

偶然间发现百度地图有高精度IP定位API的接口,通过该接口我们可以通过IP地址定位到具体的地理位置,甚至能精确到门牌号及周围的标志性建筑。该接口的说明地址为:lbsyun.baidu.com/index.php?title=webapi/high-acc-ip

若想要使用该接口进行查询,必须先申请一个密钥(AK),如下图:

申请过程就不进行说明了。API的接口参数说明和返回参数说明也不过多的介绍,大家可以看一看。因为我想返回基础定位结果+地址信息+POI信息,所以我将请求参数extensions的值设置为3。一次完整的http请求为:api.map.baidu.com/highacciploc/v1?qcip=183.55.116.90&qterm=pc&ak=“你的 密钥(AK)”&coord=bd09ll&extensions=3 。请求结果如下图:

结果为json格式数据:

我们需要的字段为:content字段里面的formatted_address。当然我们也可以将location里面的经度和纬度提取出来从而显示在地图上面。有的IP地址会返回pois数据,比如:183.55.116.95。返回参数如下:

此时我们可以把pois字段也提取出来,值得注意的是pois为数组,我们可以遍历数组数据。

通过上面的分析,用python简单的写了一个脚本,具体代码如下:

 1 # -*- coding:utf-8 -*-
 2
 3 # author:allen权
 4
 5 import sys
 6
 7 import urllib2
 8
 9 import json
10
11 def get_ip_information(ip):
12
13 url='http://api.map.baidu.com/highacciploc/v1?qcip='+ip+'&qterm=pc&ak='你的密钥(AK)'&coord=bd09ll&extensions=3'
14
15 poiss=''
16
17 request = urllib2.Request(url)
18
19 page = urllib2.urlopen(request, timeout=10)
20
21 data_json = page.read()
22
23 data_dic = json.loads(data_json)
24
25 if(data_dic.has_key(\\\\"content\\\\")):
26
27 content=data_dic[\\\\"content\\\\"]
28
29 address_component=content[\\\\"address_component\\\\"]
30
31 formatted_address=content[\\\\"formatted_address\\\\"]
32
33 print \\\\"该IP地址的具体位置为:\\\\"
34
35 print address_component[\\\\"country\\\\"]
36
37 print formatted_address
38
39 if (content.has_key(\\\\"pois\\\\")):
40
41 print \\\\"该IP地址附近POI信息如下:\\\\"
42
43 pois = content[\\\\"pois\\\\"]
44
45 for index in range(len(pois)):
46
47 pois_name = pois[index][\\\\"name\\\\"]
48
49 pois_address = pois[index][\\\\"address\\\\"]
50
51 print pois_name, pois_address
52
53 else:
54
55 print 'IP地址定位失败!!!'
56
57 if __name__ == '__main__':
58
59 get_ip_information('183.55.116.95')

大家把脚本上面的参数ak值改为自己的密钥即可。测试截图如下:

再放一张自己IP的测试截图:

确实精确到了路名,很准确,虽然没有pois的信息。

最后声明一下,成功率:综合定位成功率 65% ,精度:90% 误差 80m 以内;95% 误差 350m。这是官方给出的数据,所说有一定的概率是查询失败的!!!!

转载于:https://www.cnblogs.com/Shepherdzhao/p/7768597.html

通过IP地址进行精准定位相关推荐

  1. 如何通过IP地址进行精准定位

    在甲方工作的朋友可能会遇到这样的问题,服务器或者系统经常被扫描,通过IP地址我们只能查到某一个市级城市,如下图: 当我们想具体到街道甚至门牌号,该怎么办? 偶然间发现百度地图有高精度IP定位API的接 ...

  2. 安警官的IP地址是怎样定位到莽村附近的?

    要说最近大火的电视剧非<狂飙>莫属.电视剧<狂飙>自开播以来,一举超过<三体><去有风的地方>等先播电视剧,收视率一路"狂飙",牢牢 ...

  3. ip地址怎么精确定位 手机如何改ip地址位置

    ip地址精确定位 方法一 IP地址查询服务:使用在线的IP地址查询服务,如ip138.com.ip2location.com等,输入要查询的IP地址,系统将返回精确到地理位置的相关信息,包括国家.地区 ...

  4. 如何查找你的IP地址?通过IP地址能直接定位到你家!

    我们ip地址分为A.B.C.D.E共5类,每一类地址范围不同,从A到Eip地址范围依次递减,其中哦,D和E是保留地址,我们用不了.A.B.C3类地址很多都被美国这样的西方国家分走了,而留给我们的就剩有 ...

  5. php 通过 ip地址 进行城市定位

    ip城市定位新浪接口: /*** 新浪ip 地址获取城市信息*///根据ip 地址获取所在城市信息function getIPLoc_sina($queryIP){$url = 'http://int ...

  6. 通过ip地址实现城市定位

    博客    http://blog.csdn.net/jxlicai/article/details/16933497

  7. GPS定位与IP地址定位有何不同?

    随着数字化时代到来,智能终端快速普及与应用,人们在生活和工作中越来越多地应用到位置服务,从导航查询,到侦查搜救,位置核验等应用十分广泛.万物互联的到来,更是对位置服务的要求日益提高,而位置服务的核心要 ...

  8. GPS定位与IP地址定位

    在日常生活中,常用的定位技术包括GPS定位.基站定位与IP地址定位​.WIFI定位. 关于GPS定位 GPS(Global Positioning System,全球定位系统)起始于1958年美国军方 ...

  9. 如何利用IP地址实现在线广告精准投放,只需1个公式

    ​​​随着时代的发展和进步,传统媒体已不再是企业投放广告的唯一选择,网页以及移动端成为"新高地".但根据权威的第三方市场研究机构的研究报告来看:电梯广告在促进广告销售效果方面位列第 ...

  10. 彻底明白IP地址如何计算相关地址【收藏】

    通过IP地址和子网掩码与运算计算相关地址,知道ip地址和子网掩码后可以算出: 1. 网络地址 2. 广播地址 3. 地址范围 4. 本网有几台主机 例1:下面例子IP地址为192·168·100·5 ...

最新文章

  1. Html转义字符列表
  2. CCNP之BSCI实验6:EIGRP验证
  3. 2018.6.8-岁岁年年人不同
  4. 初识前端——个人总结
  5. pandas使用get_dummies进行one-hot编码
  6. JavaScript中encodeURI,encodeURIComponent与escape的注意
  7. CSU 1805 Three Capitals(矩阵树定理+Best定理)
  8. Java PreparedStatement IN子句替代
  9. android虚拟机的使用教程,Android 虚拟机可以这么用了 ?
  10. visio画图——圆柱
  11. 常见图像加密性能评价指标(详解加python实现)
  12. ios微信支付 内部服务器错误,iOS 微信支付报错 支付验证签名失败
  13. 重大发现:微信新上线的“群接龙”功能,你还不知道吗?
  14. 澤火革 (易經大意 韓長庚)
  15. html 文档在线查看,在网页中在线查看文档(doc、docx 、xls 、xlsx、 pdf 、swf )
  16. PyQtGraph库的部分踩坑记录
  17. escape的主要用途
  18. 超市管理系统源码,超市进销存管理系统源码 (CS架构)
  19. unity3d游戏网络服务器和客户端
  20. 多普达D900 WM6系统设置GPRS及彩信的方法

热门文章

  1. NetXray使用说明之(6)----捕捉oicq message报文 (转)
  2. apksigner --> apk签名工具
  3. jsp mysql 鲜花_jsp+servlet+mysql实现的在线鲜花商城源码附带视频指导运行教程
  4. GRE词汇竟然六小时背一遍
  5. 什么是php递归算法_PHP递归算法实例解析
  6. wps软件打不开共享超链接_wps excel的超链接打不开怎么办?
  7. 自动升级Golang版本
  8. 540s inter 固件_Intel SSD Firmware Update Tool(英特尔ssd固件更新工具)下载 v2.1.6官方版...
  9. 关于博弈论的硬币问题
  10. win10任务栏透明_桌面美化|任务栏美化