11# IPAddressQuery
22
3- - 这是一个用于查询IP地址地理位置信息的Python工具,支持单个IP查询、批量文件查询、随机User-Agent设置、多语言支持以及通过代理进行查询等功能 。
3+ 这是一个用于查询IP地址地理位置信息的Python工具,支持单个IP查询、批量文件查询、随机User-Agent设置、多语言支持以及通过Git进行自动更新等功能 。
44
55## 📌 版本信息
66
7- 当前版本: 3.0.0
8- 作者: codervibe/ZapcoMan
7+ 当前版本: 3.0.0
8+ 作者: codervibe/ZapcoMan
99最后更新时间: 脚本执行时可通过 -v 或 --version 查看
1010
1111📌 功能概述
12- - ✅ 单个或批量 IP 查询
13- - ✅ 支持多语言输出:英语、中文、日语、西班牙语、德语
14- - ✅ 使用随机 User-Agent 提高兼容性
15- - ✅ 脚本版本检查与 Git 更新功能
16- - ✅ 结构化输出字段:国家、省份、城市、经纬度、ISP 等
12+ - ✅ 单个或批量 IP 查询
13+ - ✅ 支持多语言输出:英语、中文、日语、西班牙语、德语
14+ - ✅ 使用随机 User-Agent 提高兼容性
15+ - ✅ 脚本版本检查与 Git 更新功能
16+ - ✅ 结构化输出字段:国家、省份、城市、经纬度、ISP 等
17+ - ✅ 合并两个不同API(ipgeolocation.io 和 ip-api.com)的结果以获取更完整的数据
1718
1819## 🛠️ 安装与使用
1920
2021### 下载项目
2122
2223~~~ bash
23- git clone https://github.com/codervibe/IPAddressQuery
24- cd IPAddressQuery/main
24+ git clone https://github.com/codervibe/IPAddressQuery
25+ cd IPAddressQuery/main
2526~~~
26-
2727### 安装(可选)
2828
2929~~~ bash
30- cp ./IPAddressQuery.py /usr/bin/IPAddressQuery
31- chmod +x /usr/bin/IPAddressQuery
30+ cp ./IPAddressQuery.py /usr/bin/IPAddressQuery
31+ chmod +x /usr/bin/IPAddressQuery
3232~~~
33-
3433## 🔧 依赖库
3534
3635- requests
@@ -44,41 +43,40 @@ chmod +x /usr/bin/IPAddressQuery
4443
4544## 📝 配置
4645
47- 编辑 ` config.yaml ` 文件以配置API密钥:
46+ 编辑 [ config.yaml] ( file://E:\python\Python_project\IPAddressQuery\main\config.yaml ) 文件以配置API密钥:
4847
49- ``` yaml
48+ ~~~ yaml
49+ 注意:此文件包含敏感信息,请勿提交到公开仓库或共享给非授权人员
50+ 推荐使用环境变量替代明文密钥
5051api_key : your_api_key_here
51- ` ` `
52-
53- ## 🧪 功能特性
52+ ~~~
53+ # # 🧪 主要功能
5454
55551. **单个IP查询**:通过命令行参数 `-a` 指定单个IP地址进行查询。
56562. **批量文件查询**:通过命令行参数 `-f` 指定包含IP地址列表的文件进行批量查询。
57573. **随机User-Agent**:通过命令行参数 `-r` 启用随机User-Agent以避免被目标服务器识别为爬虫。
58584. **多语言支持**:通过命令行参数 `--lang` 选择输出语言,支持英语、中文、日语、西班牙语和德语。
59- 5. **代理查询**:支持通过代理服务器进行查询,具体配置请参考代码中的网络请求部分。
60- 6. **版本查询**:通过命令行参数 `-v` 或 `--version` 查看当前脚本的版本信息。
61- 7. **自动更新**:通过命令行参数 `-u` 或 `--update` 使用 Git 自动更新到最新版本。
59+ 5. **版本查询**:通过命令行参数 `-v` 或 `--version` 查看当前脚本的版本信息。
60+ 6. **自动更新**:通过命令行参数 `-u` 或 `--update` 使用 Git 自动更新到最新版本。
6261
63- 📁 推荐目录结构
64- ~~~
65- IPAddressQuery/
66- ├── main/
67- │ └── IPAddressQuery.py
68- ├── config.yaml
69- └── ips.txt (可选)
62+ # # 🌍 查询功能说明
63+
64+ 该工具整合了两个不同的IP地理位置查询API:
65+ 1. ipgeolocation.io (主要API)
66+ 2. ip-api.com (备用API)
7067
68+ 通过合并两个API的结果,可以获得更完整的信息。例如:
69+ - ipgeolocation.io 提供了详细的地理信息和欧盟国家标识
70+ - ip-api.com 提供了额外的ISP信息
71+
72+ # # 📁 目录结构
7173~~~
72- 📎 示例输出
73- ~~~text
74- 🌍 IP 地理位置信息
75- IP地址 : 8.8.8.8
76- 国家名称 : United States / Unknown
77- 省份/州 : California / Unknown
78- 城市 : Mountain View / Unknown
79- 经纬度 : 37.4056, -122.0775 / 经度:Unknown, 纬度:Unknown
80- 组织 : AS15169 Google LLC / ISP: Unknown
81- 是否欧盟国家 : 否
74+ IPAddressQuery/
75+ ├── main/ # 主程序目录
76+ │ ├── IPAddressQuery.py # 主程序文件
77+ │ ├── init.py # Python模块初始化文件
78+ │ └── config.yaml # 配置文件
79+ └── README.md # 项目说明文档
8280~~~
8381
8482## 📊 输出说明
@@ -95,27 +93,36 @@ IP地址: 8.8.8.8
9593
9694## 📚 示例命令
9795
98- ` ` ` bash
99- # 单个IP查询(默认语言为英文)
100- python IPAddressQuery.py -a 8.8.8.8
96+ ~~~base
10197
102- # 使用随机User-Agent进行查询
98+ 单个IP查询(默认语言为英文)
99+ python IPAddressQuery.py -a 8.8.8.8
100+ 使用随机User-Agent进行查询
103101python IPAddressQuery.py -a 8.8.8.8 -r
104-
105- # 批量文件查询
102+ 批量文件查询
106103python IPAddressQuery.py -f ips.txt
107-
108- # 查询并输出中文结果
104+ 查询并输出中文结果
109105python IPAddressQuery.py -a 8.8.8.8 --lang 2
110-
111- # 显示版本信息
106+ 显示版本信息
112107python IPAddressQuery.py -v
113-
114- # 更新脚本
108+ 更新脚本
115109python IPAddressQuery.py -u
116- ` ` `
110+ ~~~
111+
112+ 📎 示例输出
113+ ~~~ base
114+ 🌍 IP 地理位置信息 IP地址: 8.8.8.8
115+ 国家名称: United States / Unknown
116+ 省份/州: California / Unknown
117+ 城市: Mountain View / Unknown
118+ 经纬度: 37.4056, -122.0775 / 经度:Unknown, 纬度:Unknown
119+ 组织: AS15169 Google LLC / ISP: Unknown
120+ 是否欧盟国家: 否
121+ ~~~
122+
123+ ## 📝 日志与错误处理
117124
118- 📝 日志与错误处理
119125所有运行时错误和异常都会被记录并打印到控制台。
120126API 请求失败时会自动捕获并提示具体错误。
121- 若无法读取配置文件或缺少 API 密钥,程序将终止执行。
127+ 若无法读取配置文件或缺少 API 密钥,程序将终止执行。
128+
0 commit comments