Python批量判断IP地址所属地区

首先安装Python扩展库netaddr,然后对下面的代码进行简单修改后即可满足某些场合的应用。

from random import randrange from netaddr import IPRange

def ipRangeTest(ipAddr, ipRange): # 遍历IP地址与地区分布对应关系字典 # 如果ipAddr在某个地区的IP段内 # 返回该地区名称 for key, value in ipRange.items(): if ipAddr in value: return key return 'unknown'

# 可以根据实际情况替换这个字典的内容 # 或从IP地址库中读入信息 ipRange = {'area1':IPRange('10.2.1.0', '10.2.1.255'), 'area2':IPRange('10.2.2.0', '10.2.2.255'), 'area3':IPRange('10.3.0.0', '10.3.255.50'), 'area4':IPRange('11.1.0.0', '11.1.0.255')}

# 测试 for _ in range(10): a = randrange(9,12) b = randrange(1,4) c = randrange(4) d = randrange(256) ipAddr = '.'.join(map(str, (a,b,c,d))) print(ipAddr, ipRangeTest(ipAddr,ipRange))

部分运行结果:

9.2.3.40 unknown 10.1.3.67 unknown 11.1.1.54 unknown 9.1.2.243 unknown 9.3.2.182 unknown 10.3.0.30 area3 9.1.1.58 unknown 11.1.2.205 unknown 10.3.2.179 area3 11.3.1.240 unknown

原文发布于微信公众号 - Python小屋(Python_xiaowu)

原文发表时间:2017-03-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编码小白

cordova学习三 平台添加

3.1添加命令           平台添加命令在项目的根目录比如myapp则是在../myapp这个目录下,其作用就是安装对应平台环境,这是成功打包的一个前提...

31090
来自专栏电光石火

centos下完全卸载mysql

yum方式安装的mysql 1、yum remove mysql mysql-server mysql-libs compat-mysql51 2...

36650
来自专栏java架构师

Hadoop学习2--Linux准备及环境准备

1、环境安装: 虚拟机:VMware Player 系统:Ubuntu12 注意事项:注意位数,包括系统,java,Hadoop 2、切换账号 当前登录账号是自...

30060
来自专栏电光石火

centos下完全卸载mysql

1、yum remove mysql mysql-server mysql-libs compat-mysql51

47250
来自专栏python学习之旅

Python笔记(三):构建发布模块

(一)     准备工作 1.   新建一个模块(名称自定义),存放要发布的模块代码。 2.   新建一个setup.py的模块(存放模块的元数据,描述相关信息...

39980
来自专栏Python小屋

使用Python把多个图片拼接成为长图

本文主要演示Python扩展库pillow中Image对象的paste()方法用法,并且测试用的所有图片具有相同尺寸,大家可以在此基础上进行改写和扩展。 另外...

48450
来自专栏程序员的SOD蜜

基于邮件通道的WCF通信系统

WCF邮件通信系统,详细介绍请见 http://files.cnblogs.com/bluedoctor/WCF%e9%82%ae%e4%bb%b6%e9%80...

23260
来自专栏挖掘大数据

教程说明:HBase下载、安装与配置

HBase是建立在Hadoop文件系统之上的分布式面向列的数据库,本文将介绍HBase的下载、安装与配置。

29500
来自专栏从零开始的linux

用shell添加用户

调试添加用户的脚本 # sh -x useradd.sh alex + '[' 1 -lt 1 ']' + id alex + useradd alex + ...

34860
来自专栏不想当开发的产品不是好测试

postman也可以使用F12功能

背景: 做过接口测试的话,大多数都知道或使用过postman工具,使用postman的时候,有时候希望也可以像chrome一样使用F12功能,这样方便观察一些数...

24390

扫码关注云+社区

领取腾讯云代金券