序言

ip2region
ip2region - 离线的ip地址查询库,ip到地区的映射库,提供二进制,B树,内存搜索三种查询算法,查询速度非常快。
支持Java,PHP,C,Python,Nodejs,Golang,C#等语言,本文以Python为例

前期准备

  • 在GitHub上克隆下来源文件地址
    - 下载完的文件:
  • 解压文件分别找到ip2region-master\data\ip2region.dbip2region-master\binding\python\ip2Region.py


  • 创建自己的文件query_ip.py
from ip2Region import Ip2Region  # 此处导入的是刚才复制的py文件db_file = './ip2region.db'  # 数据库文件路径def ip_search(ip):searcher = Ip2Region(db_file)  # 实例化searcher.isip(ip)# 三种算法任选其一# data = searcher.btreeSearch(ip)  # B树# data = searcher.binarySearch(ip) #二进制data = searcher.memorySearch(ip)  # 内存print(data)print("%s|%s" % (ip, data["region"].decode('utf-8')))searcher.close()if __name__ == "__main__":ip_search("123.205.32.32")
  • 目录

  • 执行查询函数结果

注:查询方式选择
全部的查询客户端单次查询都在0.x毫秒级别,内置了三种查询算法
memory算法:整个数据库全部载入内存,单次查询都在0.1x毫秒内,C语言的客户端单次查询在0.00x毫秒级别。
binary算法:基于二分查找,基于ip2region.db文件,不需要载入内存,单次查询在0.x毫秒级别。
b-tree算法:基于btree算法,基于ip2region.db文件,不需要载入内存,单词查询在0.x毫秒级别,比binary算法更快。
任何客户端b-tree都比binary算法快,当然memory算法固然是最快的!


参考:python +ip2region 离线IP库地址文件实现
参考:lionsoul2014/ip2region

python3 +ip2region 离线IP库地址文件实现毫秒级查询ip地址信息相关推荐

  1. python +ip2region 离线IP库地址文件实现秒级查询ip归属地址

    ip2region ip2region - 离线的ip地址查询库,ip到地区的映射库,提供二进制,B树,内存搜索三种查询算法,查询速度非常快. 支持Java,PHP,C,Python,Nodejs,G ...

  2. 毫秒级查询的离线IP地址定位库,太实用了!

      大家好,我是为广大程序员兄弟操碎了心的小编,每天推荐一个小工具/源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节省开发效率,实现不加班不熬夜不掉头发,是我的目标!   咱们程序员开发任何系统, ...

  3. php基于新浪ip库获取城市,PHP基于新浪IP库获取IP详细地址的方法

    [导读]这篇文章主要介绍了PHP基于新浪IP库获取IP详细地址的方法,涉及php正则.curl及编码转换相关操作技巧 本文实例讲述了PHP基于新浪IP库获取IP详细地址的方法.代码如下<?php ...

  4. C# 调用IP库(QQWry.Dat)查询IP位置及自动升级IP库方法(附IP库下载地址及相关dll下载)

    前言 C# 用IP地址(123.125.114.144)查询位置(北京市百度公司)的东西,非常好用也非常方便,可手动升级刷新IP库,一次编码永久收益,可支持winform.asp.net等程序. 本文 ...

  5. C# 调用IP库(QQWry.Dat)查询IP位置及自动升级IP库方法(附IP库下载地址及相关dll下载)...

    前言 C# 用IP地址(123.125.114.144)查询位置(北京市百度公司)的东西,非常好用也非常方便,可手动升级刷新IP库,一次编码永久收益,可支持winform.asp.net等程序. 本文 ...

  6. 纯真IP库的结构分析及一个查询类

    个人网站上有个功能,记录访问者的IP及其归属地.最初我偷懒通过一个WebService来查询IP归属地,后来觉得通过这种方法响应时间长,资源耗费大,而且对那个WebSerice的依赖度太高,如果它挂了 ...

  7. 数仓建设之IP库的匹配

    数仓建设之IP库的匹配 一.业务前提 二.解决过程 01)增加运行资源 02)通过增加切分块大小,减少实例数 03)明细表和ip库通过join方式 04)mapjoin内存方式 05)将IP库展开,进 ...

  8. C# 调用IP库(QQWry.Dat)查询IP位置及自动升级IP库方法【转】

    前言 C# 用IP地址(123.125.114.144)查询位置(北京市百度公司)的东西,非常好用也非常方便,可手动升级刷新IP库,一次编码永久收益,可支持winform.asp.net等程序. 本文 ...

  9. qq纯真IP库安装及更新

    QQ纯真IP库和命令,其主要功能就是把一些网络工具的输出的IP字符串,附加上地理位置信息(使用纯真数据库).例如218.65.137.1会变成218.65.137.1[广西南宁市电信]. qqwry. ...

  10. IP库新增10多个功能IP

    本文涵盖了从初学者到专家级别的FPGA 项目及IP.所有 FPGA 项目都带有开源的源代码. IP库简介 一直想做一个可以供大家学习.使用的开源IP库,类似OpenCores,OC上IP在领域内的IP ...

最新文章

  1. PHP的优点和缺点分别是什么,CSS的优点和缺点分别是什么
  2. opencv3.2.0 Cmake 3.8.0 + tdm-gcc-5.1.0-3 编译问题 highgui _Win32_IE
  3. 2021-9-下旬 数据结构-线性表-动态数组-java代码实现
  4. Swift之String的简单实用
  5. php弹出第一个数组中,PHP array_search始终返回数组的第一个键
  6. oracle gather trace,Oracle 11g新SQL Trace 10046方法
  7. dataframe 修改某列_python dataframe操作大全数据预处理过程(dataframe、md5)
  8. sphinx配置 + php
  9. 利python写用赌博游戏函数版赏析:
  10. [C# 设计模式] Iterator - 迭代器模式:我与一份奥利奥早餐的故事
  11. [LeetCode]400. Nth Digit
  12. ESRI用户问答精选
  13. 基于java物流管理信息系统
  14. form 表单提交后,使页面不跳转
  15. 单片机控制气压海拔模块BMP180之模块化编程(持续更新中)
  16. 南京工业大学计算机学院考研真题,南京工业大学考研真题汇总
  17. 休息时间!哪些业余活动能提升开发人员的技能?
  18. 很抱歉,你不涨工资,正是因为你“太努力”!
  19. 赛前采访里皮表示:希望队员用真心踢球。
  20. linux cut命令学习,Linux中的cut 命令详解

热门文章

  1. UFS的Command Queue
  2. lubuntu xubunut ubuntu kubuntu 区别
  3. 《大侦探皮卡丘》天龙八部在路上
  4. Jupyter Notebook:内核似乎挂掉
  5. EBS 12.1.3 应用打补丁操作及问题处理
  6. 安全合规/等级保护--10--等级保护介绍及流程
  7. 【高等数学】第 2 讲 两个重要的极限定理
  8. 多维正态随机变量的条件概率密度函数推导
  9. 【PyTorch】13 Image Caption:让神经网络看图讲故事
  10. 各位老铁,善财读书会试运营了