Python獲取IP地址對應(yīng)的地理位置信息!

開發(fā)工具

Python版本:3.6.4相關(guān)模塊:IPy模塊;argparse模塊;requests模塊;以及一些Python自帶的模塊。

環(huán)境搭建

安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。

先睹為快

py文件運行方式(cmd窗口):python ipLocQuery.py -ip ipaddrpython ipLocQuery.py -f ipaddrfileexe文件運行方式(cmd窗口):ipLocQuery.exe -ip ipaddripLocQuery.exe -f ipaddrfile效果如下:

在學(xué)習(xí)中有迷茫不知如何學(xué)習(xí)的朋友小編推薦一個學(xué)Python的學(xué)習(xí)q u n 227? -435-? 450可以來了解一起進(jìn)步一起學(xué)習(xí)!免費分享視頻資料

原理簡介

利用了三個可以查詢ip地址對應(yīng)歸屬地的網(wǎng)站做的這個小工具,分別是:

① ip.taobao.com

速度快,查國內(nèi)的ip地址對應(yīng)歸屬地比較精確。

② ip-api.com

速度很慢,準(zhǔn)確性一般,國內(nèi)外ip地址對應(yīng)歸屬地均可查詢,同時提供了經(jīng)緯度信息。

③ api.ipstack.com(推薦)

速度快,準(zhǔn)確性高,國內(nèi)外ip地址對應(yīng)歸屬地均可查詢,同時提供了經(jīng)緯度信息。

代碼實現(xiàn)起來比較簡單,主要流程為:

(1)IP地址有效性驗證

圖方便,就直接調(diào)用IPy模塊來驗證的,有bug。具體代碼如下:

(2)請求API接口獲取ip地址對應(yīng)歸屬地

根據(jù)ip地址分別請求每個網(wǎng)站提供的API接口來獲取ip地址對應(yīng)歸屬地。由于返回結(jié)果是英文或者拼音,因此需要調(diào)用有道翻譯的API接口對返回結(jié)果進(jìn)行翻譯,最后再把翻譯結(jié)果打印出來。

具體代碼實現(xiàn)如下(以ipstack為例):

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容