python统计日志ip访问数的方法


Posted in Python onJuly 06, 2015

本文实例讲述了python统计日志ip访问数的方法。分享给大家供大家参考。具体如下:

import re
f=open("/tmp/a.log","r")
arr={} 
lines = f.readlines()
for line in lines: 
  ipaddress=re.compile(r'^#(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?))')
  match=ipaddress.match(line)
  if match: 
    ip = match.group(1) 
    if(arr.has_key(ip)): 
      arr[ip]+=1 
    else: 
      arr.setdefault(ip,1) 
f.close() 
for key in arr: 
  print key+"->"+str(arr[key])

日志格式为:

#111.172.249.84 - - [12/Dec/2011:05:33:36 +0800] "GET /images/i/goTop.png HTTP/1.0" 200 486 "http://wh.xxxx.com/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)" 
#111.172.249.84 - - [12/Dec/2011:05:33:36 +0800] "GET /images/i/goTop.png HTTP/1.0" 200 486 "http://wh.xxxx.com/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)" 
#111.172.249.85 - - [12/Dec/2011:05:33:36 +0800] "GET /images/i/goTop.png HTTP/1.0" 200 486 "http://wh.xxxx.com/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)" 
#111.172.249.86 - - [12/Dec/2011:05:33:36 +0800] "GET /images/i/goTop.png HTTP/1.0" 200 486 "http://wh.xxxx.com/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)"

输出结果:

111.172.249.86->1
111.172.249.84->2
111.172.249.85->1

注释:python字段的setdefault用法为获取信息,如果获取不到的时候就按照他的参数设置该值

>>> a={} 
>>> a['key']='123' 
>>> print (a) 
{'key': '123'} 
>>> print (a.setdefault('key','456'))
#显示a这个字典的'key'值的内容,因为字典有,所以不会去设置它 
123 
>>> print (a.setdefault('key1','456'))
#显示a这个字典的'key1'值的内容,因为字典没有,所以设置为456了 
456 
>>> a 
{'key1': '456', 'key': '123'}

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python学习之Django的管理界面代码示例
Feb 10 Python
Python eval的常见错误封装及利用原理详解
Mar 26 Python
Python 虚拟空间的使用代码详解
Jun 10 Python
深入了解Python iter() 方法的用法
Jul 11 Python
pandas通过字典生成dataframe的方法步骤
Jul 23 Python
Python 使用指定的网卡发送HTTP请求的实例
Aug 21 Python
Python实现bilibili时间长度查询的示例代码
Jan 14 Python
python 日志模块 日志等级设置失效的解决方案
May 26 Python
详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
Aug 04 Python
图文详解matlab原始处理图像几何变换
Jul 09 Python
python_tkinter事件类型详情
Mar 20 Python
Python Pytorch查询图像的特征从集合或数据库中查找图像
Apr 09 Python
python检查指定文件是否存在的方法
Jul 06 #Python
python转换字符串为摩尔斯电码的方法
Jul 06 #Python
python实现文件路径和url相互转换的方法
Jul 06 #Python
详解Python中的Cookie模块使用
Jul 06 #Python
python计算文本文件行数的方法
Jul 06 #Python
python实现ping的方法
Jul 06 #Python
python删除指定类型(或非指定)的文件实例详解
Jul 06 #Python
You might like
我常用的几个类
2006/10/09 PHP
php去除换行(回车换行)的三种方法
2014/03/26 PHP
php使用json_encode对变量json编码
2014/04/07 PHP
php网页版聊天软件实现代码
2016/08/12 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
2017/03/14 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
JavaScript 参考教程
2006/12/29 Javascript
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
jQuery温习篇 强大的JQuery选择器
2010/04/24 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
cookie.js 加载顺序问题怎么才有效
2013/07/31 Javascript
jquery动态改变onclick属性导致失效的问题解决方法
2013/12/04 Javascript
jquery日历控件实现方法分享
2014/03/07 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
2014/09/03 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
2015/03/02 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
JavaScript中的return语句简单介绍
2015/12/07 Javascript
js实现网页定位导航功能
2017/03/07 Javascript
详解Vuex下Store的模块化拆分实践
2019/07/31 Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
2020/11/05 Javascript
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
pandas 时间格式转换的实现
2019/07/06 Python
Python中and和or如何使用
2020/05/28 Python
keras输出预测值和真实值方式
2020/06/27 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
详解Python中的路径问题
2020/09/02 Python
使用python-cv2实现视频的分解与合成的示例代码
2020/10/26 Python
HTML5实现WebSocket协议原理浅析
2014/07/07 HTML / CSS
计算机数据库专业职业生涯规划书
2014/02/08 职场文书
党员自我批评与反省材料
2014/02/10 职场文书
写求职信有什么意义
2014/02/17 职场文书
保险公司晨会主持词
2014/03/22 职场文书
法定授权委托证明书
2014/09/27 职场文书
2015年师德师风承诺书
2015/01/22 职场文书
《夹竹桃》教学反思
2016/02/23 职场文书
python Polars库的使用简介
2021/04/21 Python