Python获取IP地址对应的地理位置信息!

导语

最近比较喜欢做一些小工具分享给大家T_T今天我们就做一个利用Python来获取IP地址对应的地理位置信息的小工具吧。让我们愉快地开始吧~进群:700341555获取Python学习资料哦!

Python获取IP地址对应的地理位置信息!

开发工具

Python版本:3.6.4相关模块:IPy模块;argparse模块;requests模块;以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

先睹为快

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

Python获取IP地址对应的地理位置信息!

Python获取IP地址对应的地理位置信息!

Python获取IP地址对应的地理位置信息!

Python获取IP地址对应的地理位置信息!

原理简介

利用了三个可以查询ip地址对应归属地的网站做的这个小工具,分别是:

① ip.taobao.com

速度快,查国内的ip地址对应归属地比较精确。

② ip-api.com

速度很慢,准确性一般,国内外ip地址对应归属地均可查询,同时提供了经纬度信息。

③ api.ipstack.com(推荐)

速度快,准确性高,国内外ip地址对应归属地均可查询,同时提供了经纬度信息。

代码实现起来比较简单,主要流程为:

(1)IP地址有效性验证

图方便,就直接调用IPy模块来验证的,有bug。具体代码如下:

Python获取IP地址对应的地理位置信息!

(2)请求API接口获取ip地址对应归属地

根据ip地址分别请求每个网站提供的API接口来获取ip地址对应归属地。由于返回结果是英文或者拼音,因此需要调用有道翻译的API接口对返回结果进行翻译,最后再把翻译结果打印出来。

具体代码实现如下(以ipstack为例):

猜你喜欢

转载自blog.csdn.net/weixin_44138053/article/details/86573309