纯真IP网站申请免费离线应用步骤

发布时间:2026/10/29 10:18:02
纯真IP网站申请免费离线应用步骤

1.纯真IP网站申请免费离线应用步骤

官方地址 纯真社区版IP库 - 纯真网络

注册账号之后,提交申请。 等待通过即可

个人开发使用可以查到大部分的 IP

2. Python 读取纯真离线 IP 库示例

拿到纯真社区版离线库(qqwry.dat)之后,最省事的方式是使用qqwry这个第三方库,它封装了 dat 文件的二进制解析逻辑,直接传入 IP 就能返回国家、省份、城市和运营商信息。

2.1 安装依赖

pip install qqwry

2.2 文件路径说明

  • qqwry.dat是纯真社区版离线库文件,从纯真官网申请通过后下载得到,通常是一个压缩包,解压后即可看到该文件。
  • 建议把 dat 文件放在项目根目录下的data目录中,例如./data/qqwry.dat,避免使用绝对路径导致换机器后无法运行。
  • 代码中推荐用os.path或pathlib拼接路径,保证在 Windows 和 Linux 下都能正确读取。
  • dat 文件会定期更新,替换文件后无需改动代码,重新运行即可生效。

2.3 完整示例代码

import os from qqwry import QQwry dat 文件路径:项目根目录下的 data/qqwry.dat BASE_DIR = os.path.dirname(os.path.abspath(file)) DAT_PATH = os.path.join(BASE_DIR, "data", "qqwry.dat") 加载离线库,load_file 返回 True 表示加载成功 q = QQwry() if not q.load_file(DAT_PATH): raise RuntimeError("qqwry.dat 加载失败,请检查文件路径是否正确") 待查询的 IP 列表 ips = ["114.114.114.114", "8.8.8.8", "223.5.5.5"] for ip in ips: # lookup 返回 (国家/地区, 运营商) 二元组,查询失败时返回 None result = q.lookup(ip) if result is None: print(f"{ip} -> 未查询到结果") continue country, area = result print(f"{ip} -> {country} {area}") 输出示例: 114.114.114.114 -> 江苏省南京市 南京信风网络科技有限公司GreatbitDNS服务器 8.8.8.8 -> 美国 加利福尼亚州圣克拉拉县山景市谷歌公司DNS服务器 223.5.5.5 -> 浙江省杭州市 阿里云

2.4 常见问题

  • 加载失败:优先检查路径是否存在、文件名是否为qqwry.dat(注意大小写),以及文件是否完整解压。
  • 查询结果为 None:说明该 IP 不在库中,或传入的 IP 格式不合法,建议先用ipaddress模块做一次校验。
  • 结果不够精确:社区版库的精度有限,部分 IP 只能定位到省份或运营商,商业场景建议使用官方商业版 API。
  • 批量查询性能:dat 文件加载一次后常驻内存,循环调用lookup即可,不要每次查询都重新load_file。