在甲方工作的朋友可能會遇到這樣的問題,伺服器或者系統經常被掃瞄,通過ip位址我們只能查到某乙個市級城市,如下圖:
當我們想具體到街道甚至門牌號,該怎麼辦???
若想要使用該介面進行查詢,必須先申請乙個金鑰(ak),如下圖:
申請過程就不進行說明了。api的介面引數說明和返回引數說明也不過多的介紹,大家可以看一看。因為我想返回基礎定位結果+位址資訊+poi資訊,所以我將請求引數extensions的值設定為3。一次完整的http請求為:你的 金鑰(ak)」&coord=bd09ll&extensions=3 。請求結果如下圖:
結果為json格式資料:
,"locid":"925a2a9e3ac5be1cf003afd23c344ab3","radius":30,"confidence":0.5,"address_component":,"formatted_address":"廣東省汕尾市海豐縣新平路","business":"公平"},"result":}我們需要的字段為:content欄位裡面的formatted_address。當然我們也可以將location裡面的經度和緯度提取出來從而顯示在地圖上面。有的ip位址會返回pois資料,比如:183.55.116.95。返回引數如下:
,"locid":"3fb96555906fff3100ff21119142ccd5","radius":30,"confidence":1.0,
"address_component":,
"formatted_address":"廣東省汕尾市海豐縣s335","pois":[,
"uid":"18010998377147269119"},,"uid":"17661602237861855231"},
,"uid":"18010998372852301823"},
,"uid":"17661601958688980991"},
,"uid":"18010998368557334527"}],
"location_description":"雙墩村東104公尺"},"result":}此時我們可以把pois欄位也提取出來,值得注意的是pois為陣列,我們可以遍歷陣列資料。
通過上面的分析,用python簡單的寫了乙個指令碼,具體**如下:
# -*- coding:utf-8 -*-# author:allen權
import
sysimport
urllib2
import
json
def
get_ip_information
(ip):
url=''+ip+
'&qterm=pc&ak='你的金鑰(ak)'&coord=bd09ll&extensions=3'
poiss=''
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"
]formatted_address=content[
"formatted_address"
"該ip位址的具體位置為:"
address_component[
"country"
]
printformatted_addressif
(content.has_key(
"pois"
"該ip位址附近poi資訊如下:"
pois = content[
"pois"
]for
index
in
range
(len
(pois)):
pois_name = pois[index]["name"
]pois_address = pois[index][
"address"
pois_name
, pois_address
else
'ip位址定位失敗!!!'
if
__name__ ==
'__main__'
:
get_ip_information(大家把指令碼上面的引數ak值改為自己的金鑰即可。測試截圖如下:'183.55.116.95'
)
再放一張自己ip的測試截圖:
確實精確到了路名,很準確,雖然沒有pois的資訊。
最後宣告一下,成功率:綜合定位成功率 65% ,精度:90% 誤差 80m 以內;95% 誤差 350m。這是官方給出的資料,所說有一定的概率是查詢失敗的!!!!
通過IP位址進行精準定位
可能會遇到這樣的問題,伺服器或者系統經常被掃瞄,通過ip位址我們只能查到某乙個市級城市,如下圖 當我們想具體到街道甚至門牌號,該怎麼辦?若想要使用該介面進行查詢,必須先申請乙個金鑰 ak 如下圖 申請過程就不進行說明了。api的介面引數說明和返回引數說明也不過多的介紹,大家可以看一看。因為我想返回基...
ip位址高精準定位
ip資料庫包含全球43億全量ipv4與 2 128全量ipv6,資料庫版本分為高精準 公安版 高精準 商業版 區縣級 城市級和ipv6共5個版本。ip資料庫主要解決的痛點為網際網路廣告精準投放 內容精準推薦 使用者位置畫像 重點企業辦公網路資產普查,網路攻擊溯源 取證 嫌疑人地理位置定位 伺服器優化...
QT通過IP位址定位位址
通過ip位址定位位址,是要通過查詢資料庫,如果自己做乙個這樣的資料庫工作量就比較大,所以在網上找了乙個查詢ip位址的 通過呼叫這個 查詢來實現,但是這個有一定的弊端,如果沒有網路或者這個 不可用時,就無法查詢。具體 如下 qeventloop loop qnetworkaccessmanager m...