可能會遇到這樣的問題,伺服器或者系統經常被掃瞄,通過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 -*-23
#author:allen權45
import
sys6
7import
urllib289
import
json
1011
defget_ip_information(ip):
1213 url='
'+ip+'
&qterm=pc&ak=
'你的金鑰(ak)'
&coord=bd09ll&extensions=3'14
15 poiss=''
1617 request =urllib2.request(url)
1819 page = urllib2.urlopen(request, timeout=10)
2021 data_json =page.read()
2223 data_dic =json.loads(data_json)
2425
if(data_dic.has_key(\\\\"
content\\\\
")):
2627 content=data_dic[\\\\"
content\\\\"]
2829 address_component=content[\\\\"
address_component\\\\"]
3031 formatted_address=content[\\\\"
formatted_address\\\\"]
3233
print \\\\""34
35print address_component[\\\\"
country\\\\"]
3637
formatted_address
3839
if (content.has_key(\\\\"
pois\\\\
")):
4041
print \\\\"
該ip位址附近poi資訊如下:\\\\"42
43 pois = content[\\\\"
pois\\\\"]
4445
for index in
range(len(pois)):
4647 pois_name = pois[index][\\\\"
name\\\\"]
4849 pois_address = pois[index][\\\\"
address\\\\"]
5051
pois_name, pois_address
5253
else:54
55print
'ip位址定位失敗!!!'56
再放一張自己ip的測試截圖:
確實精確到了路名,很準確,雖然沒有pois的資訊。
最後宣告一下,成功率:綜合定位成功率 65% ,精度:90% 誤差 80m 以內;95% 誤差 350m。這是官方給出的資料,所說有一定的概率是查詢失敗的!!!!
如何通過IP位址進行精準定位
在甲方工作的朋友可能會遇到這樣的問題,伺服器或者系統經常被掃瞄,通過ip位址我們只能查到某乙個市級城市,如下圖 當我們想具體到街道甚至門牌號,該怎麼辦?若想要使用該介面進行查詢,必須先申請乙個金鑰 ak 如下圖 申請過程就不進行說明了。api的介面引數說明和返回引數說明也不過多的介紹,大家可以看一看...
ip位址高精準定位
ip資料庫包含全球43億全量ipv4與 2 128全量ipv6,資料庫版本分為高精準 公安版 高精準 商業版 區縣級 城市級和ipv6共5個版本。ip資料庫主要解決的痛點為網際網路廣告精準投放 內容精準推薦 使用者位置畫像 重點企業辦公網路資產普查,網路攻擊溯源 取證 嫌疑人地理位置定位 伺服器優化...
ffmpeg時間戳精準定位
重新編碼片源,設定片源gop間隔為10秒,幀率30fps,同時為每幀影象新增時間戳水印,素材時長為5分鐘 轉碼命令 ffmpeg t 5 00 i input.mp4 vf drawtext fontsize 120 text c v libx264 r 30 g 300 s 1280x720 pr...