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

简介: 开发工具Python版本:3.6.4相关模块:IPy模块;argparse模块;requests模块;以及一些Python自带的模块。环境搭建安装Python并添加到环境变量,pip安装需要的相关模块即可。

开发工具

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效果如下:

1240
1240
1240
1240

在学习中有迷茫不知如何学习的朋友小编推荐一个学Python的学习q u n 227  -435-  450可以来了解一起进步一起学习!免费分享视频资料

原理简介

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

① ip.taobao.com

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

② ip-api.com

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

③ api.ipstack.com(推荐)

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

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

(1)IP地址有效性验证

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

1240

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

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

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

1240
相关文章
|
19天前
|
数据采集 存储 API
在信息时代,Python爬虫用于自动化网络数据采集,提高效率。
【7月更文挑战第5天】在信息时代,Python爬虫用于自动化网络数据采集,提高效率。基本概念包括发送HTTP请求、解析HTML、存储数据及异常处理。常用库有requests(发送请求)和BeautifulSoup(解析HTML)。基本流程:导入库,发送GET请求,解析网页提取数据,存储结果,并处理异常。应用案例涉及抓取新闻、商品信息等。
45 2
|
2天前
|
SQL 存储 数据库
数据聚合大揭秘!Python如何一键整合海量信息,洞察数据背后的秘密?
【7月更文挑战第21天】在数据驱动时代,Python以强大库支持,如Pandas与SQLAlchemy,轻松聚合分析海量信息。Pandas简化数据整合,从CSV文件加载数据,利用`pd.concat()`合并,`groupby()`进行聚合分析,揭示销售趋势。SQLAlchemy则无缝链接数据库,执行SQL查询,汇总复杂数据。Python一键操作,开启数据洞察之旅,无论源数据格式,均能深入挖掘价值。
9 0
|
13天前
|
网络协议 Linux Python
Python脚本配置Centos静态ip地址
这是一个Python脚本,用于自动化配置CentOS系统的静态IP地址。脚本创建或修改文件,填写接口名(如ens33)、IP地址、子网掩码、网关和DNS。运行时需替换变量值并使用`sudo`以管理员权限执行。完成配置后,它会重启网络服务。注意,用户应根据实际网络环境调整参数。
Python脚本配置Centos静态ip地址
|
15天前
|
数据安全/隐私保护 Python
【Python】已解决:urllib模块设置代理ip
【Python】已解决:urllib模块设置代理ip
15 2
【Python】已解决:urllib模块设置代理ip
|
20天前
|
监控 Python
paramiko 模块 ---Python脚本监控当前系统的CPU、内存、根目录、IP地址等信息
paramiko 模块 ---Python脚本监控当前系统的CPU、内存、根目录、IP地址等信息
|
10天前
|
数据可视化 Linux 数据格式
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
|
15天前
|
开发者 Python
【Python】已解决:FileNotFoundError: [Errno 2] No such file or directory: ‘配置信息.csv‘
【Python】已解决:FileNotFoundError: [Errno 2] No such file or directory: ‘配置信息.csv‘
16 0
|
定位技术 API Python
python实现地理位置类数据爬取与geohash应用初探
最近想做一个简单的地理位置分析,比如获取一些城市公交站点对应的geohash,geohash其实是将平时常见的经纬度进行了降维,这样可以进行类似附近的餐馆等内容的分析。 1.
3892 0
|
15天前
|
安全 Python
告别低效编程!Python线程与进程并发技术详解,让你的代码飞起来!
【7月更文挑战第9天】Python并发编程提升效率:**理解并发与并行,线程借助`threading`模块处理IO密集型任务,受限于GIL;进程用`multiprocessing`实现并行,绕过GIL限制。示例展示线程和进程创建及同步。选择合适模型,注意线程安全,利用多核,优化性能,实现高效并发编程。
27 3
|
14天前
|
数据采集 大数据 数据安全/隐私保护
Python编程:如何有效等待套接字的读取与关闭
Python网络编程中,套接字事件处理至关重要。利用`selectors`模块和代理IP能增强程序的稳定性和可靠性。代码示例展示了如何通过代理连接目标服务器,注册套接字的读写事件并高效处理。在代理IP配置、连接创建、事件循环及回调函数中,实现了数据收发与连接管理,有效应对网络爬虫或聊天应用的需求,同时保护了真实IP。
Python编程:如何有效等待套接字的读取与关闭