`
qepwqnp
  • 浏览: 114815 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

python访问纯真IP数据库

阅读更多

项目中有这样的需求,通过IP地址判断客户端是网通的还是电信的。从同事那拿了个纯文本的IP纯真数据库,用Python写了一个小程序,感觉挺好的。点击这里 查看例子。

源码下载

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from bisect import bisect

_LIST1, _LIST2 = [], []
_INIT = False

ip2int = lambda ip_str: reduce(lambda a, b: (a << 8) + b, [int(i) for i in ip_str.split('.')])

def _init():
    global _LIST, _INIT
    if not _INIT:
        for l in open('ipdata.txt', 'rb'):
            ip1, ip2 = l.split()[:2]
            addr = ' '.join(l.split()[2:])
            ip1, ip2 = ip2int(ip1), ip2int(ip2)
            _LIST1.append(ip1)
            _LIST2.append((ip1, ip2, addr))
        _INIT = True
    
def ip_from(ip):
    _init()
    i = ip2int(ip)
    idx = bisect(_LIST1, i)
    assert(idx > 0)
    if len(_LIST1) <= idx:
        return u'unknown ip address %s' % ip
    else:
        frm, to ,addr = _LIST2[idx - 1]
        if frm <= i <= to:
            return addr
        else:
            return u'unknown ip address %s' % ip
    
if __name__ == '__main__':
    print ip_from('115.238.54.106')
    print ip_from('220.181.29.160')
    print ip_from('115.238.54.107')
    print ip_from('8.8.8.8')
分享到:
评论

相关推荐

    Python访问纯真IP数据库脚本分享

    ### Python访问纯真IP数据库脚本详解 #### 一、背景与目的 在现代互联网应用中,IP地址作为网络通信的基础标识,对于了解用户位置、网络优化等方面具有重要作用。例如,根据用户的IP地址来判断其所在地区或者所...

    纯真IP数据库 查询IP

    例如,在Python中可以使用第三方库如`ipip.net`来调用纯真IP数据库。 7. 链接资源:说明.txt可能包含了关于如何使用数据库和查询工具的详细说明,而纯真网络.url和QQ互动门户-纯真.url可能是指向更多相关信息或官方...

    Python-纯真IP数据库解析

    纯真IP数据库解析qqwry.dat库文件。 QQWry IP数据库 纯真版收集了包括中国电信、中国移动、中国联通、长城宽带、聚友宽带等 ISP 的最新准确 IP 地址数据。IP数据库每5天更新一次,需要定期更新最新的IP数据库。

    纯真IP数据库使用 Python代码

    本文将详细介绍如何使用Python来操作纯真IP数据库,并进行IP地址的查询。 首先,你需要获取到最新的纯真IP数据库文件,通常是以`.dat`格式提供的。这个文件包含了IP地址范围和对应的地理位置信息。在Python中,我们...

    qqwry.dat纯真ip数据库和自动更新脚本

    纯真IP数据库文件,dat数据非exe安装包,每天会扫描两次(17:55和23:55),当发现更新时也可以选择手动运行来获得文件。 目录说明 1、qqwry.dat 为最新数据直链(即下即用),每次更新会覆盖之前的内容,如果想要...

    纯真Ip数据库(ShowIP

    【纯真IP数据库(ShowIP)详解】 在互联网技术领域,IP数据库扮演着至关重要的角色,尤其是对于网络定位、访问控制、流量分析等应用。其中,“纯真IP数据库”(简称ShowIP)是一款广泛使用的IP地址数据库,它包含了...

    纯真ip数据库,utf-8

    纯真IP数据库是一款被广泛使用的IP地址数据库,主要用于识别和定位中国大陆地区的IP地址。这个数据库由纯真网络提供,包含了详细的IP段与地理位置对应信息,包括省份、城市、运营商等数据,对于开发者来说,它是实现...

    最新纯真ip数据库ACCESS MDB格式

    纯真IP数据库是中国知名的IP地址数据库,由纯真网络提供,包含了中国大陆以及部分国际地区的IP地址段、归属地信息,对于网络应用如地理位置定位、访问控制等具有重要价值。 描述中的“最新纯真IP库,我网站正在使用...

    纯真IP数据库

    9. 兼容性:纯真IP数据库通常提供多种接口供开发者使用,如API、DLL库、Python模块等,以适应不同开发环境和需求。 10. 法律法规:在使用IP数据库时,应注意遵守相关的数据保护和隐私法律法规,不得滥用用户个人...

    纯真ip数据库UTF-8版2009-08-10

    《纯真IP数据库UTF-8版2009-08-10》是一个专为了解决跨平台编码问题而转换的IP地址数据库文件。在IT行业中,IP数据库通常用于定位和识别网络上的设备,尤其是当需要根据IP地址获取对应地理位置信息时。这个特定的...

    2010纯真ip数据库

    标题中的“2010纯真ip数据库”指的是一个IP地址数据库,主要包含2010年时全球的IP地址信息。这个数据库是由“纯真”项目维护的,旨在提供准确的IP到地理位置的映射,帮助用户识别互联网上IP地址所属的国家、地区或者...

    纯真IP数据库官方版本

    纯真IP数据库是中国知名的IP地址库,主要用于提供准确的IP地址到地理位置的映射信息。这个官方版本是针对2012年的数据进行更新维护的,确保了在当时的网络环境中,用户可以获取到最新的IP定位信息。IP数据库是互联网...

    czipdata:适用于Python的纯真IP数据库规范及同步

    压缩数据适用于Python的纯真IP数据库规范和MySQL同步更新GitHub: : Gitee: ://gitee.com/a76yyyy/czipdata功能通过Python实现纯真IP数据库的补充更新,数据库在数据文件夹下;将数据文件解析为txt格式;将数据文件...

    QQwry纯真IP数据库 更新时间2013.12.12

    QQwry纯真IP数据库是一个专门用于识别和定位IP地址的数据库,它包含了大量全球IP地址与地理位置的对应关系。这个数据库的更新日期为2013年12月12日,这意味着它包含了截止到那个时间点的最新IP地理信息。 在IT领域...

    将纯真IP数据库转换为KillQQAd适用IP数据库的工具及方法

    纯真IP数据库则是一个广泛使用的IP地址信息库,包含了大量IP地址与地区、组织等信息的对应关系。本文将详细介绍如何将纯真IP数据库转换为KillQQAd能够识别和利用的格式。 首先,理解纯真IP数据库的结构至关重要。...

    纯真IP数据库(更新至09/05/2008)

    在实际应用中,开发者会将纯真IP数据库集成到他们的应用程序中,通过编程语言如Python、Java、C#等实现IP查询功能。常见的方法是先将数据库加载到内存中,然后通过二分查找或哈希表等高效数据结构,快速查找到给定IP...

    实现纯真IP数据库DAT转mdb数据库的方法

    纯真IP数据库DAT转MDB数据库的过程涉及到网络编程和数据库管理两个关键领域。纯真IP数据库是一种广泛用于IP地址查询的数据库,它包含了IP地址与地理位置的对应关系,通常以DAT格式存储。而MDB数据库则是Microsoft ...

    纯真IP数据库-穿越时空隧道,重拾昔日纯真。

    纯真IP数据库,这个名字在IT行业内有着特殊的意义,它是中国早期互联网时代的一个标志性产品,尤其在IP地址查询领域,堪称经典。"穿越时空隧道,重拾昔日纯真"这一描述,既富有诗意,又暗示了这个数据库历史久远,...

Global site tag (gtag.js) - Google Analytics