暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

离线 IP 归属地查询

生有可恋 2022-12-02
3103

今天给大家推荐一款离线的IP归属地查询工具,github项目名称为 ip2regin,项目地址为:

  • https://github.com/lionsoul2014/ip2region


ip2regin 自带一套离线数据,如果有数据源的话,可以自己生成数据文件。ip2regin实际上是一套离线IP地址定位库和IP定位数据管理框架,查询效果非常高,能做到高达10微秒级别的查询效率。

ip2regin 支持多种语言接口,我们以python为例。Python版本的类库在 ip2region/binding/python 目录。我们通过交互式讲解怎么使用,首先我们需要进到这个python库文件目录,然后 import xdbSearcher 库文件。

    $ cd ip2region/binding/python
    $ python
    >>> from xdbSearcher import XdbSearcher
    >>> dbPath = "../../data/ip2region.xdb"
    >>> buff = XdbSearcher.loadContentFromFile(dbfile=dbPath)
    >>> searcher = XdbSearcher(contentBuff=buff)
    >>> ip = searcher.search
    >>> ip('114.114.114.114')
    '中国|0|江苏省|南京市|0'
    >>> ip('8.8.8.8')
    '美国|0|0|0|Level3'

    ip2regin 只定义了数据文件的格式,提供了查询接口。Python 版的查询接口定义在 xdbSearcher.py 文件中,import 之后就可以使用了。查询结果为五个字段组成的字符串,当数据为空时字段值为0,以'|'分隔,它们分别表示:国家|区域|省份|城市|ISP

    国内数据可以精确到省市,国外数据只到国家。当然这里是以 git 库自带的数据文件为例。因为 ip2regin 只是定义了框架,并不保证IP数据能及时更新,如果自己有数据可以使用它自带的 maker 生成新的 xdb 数据文件。

    对查询接口稍微包装一下就可以做成查 IP 归属地的本地工具,如果需要大批量处理IP数据,可以使用它的cache模式加载数据文件到内存中,这样查询效率更高,而不是查询一个IP就读一次文件。

    全文完。


    如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。



    文章转载自生有可恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论