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 相关文章推荐
Python2中的raw_input() 与 input()
Jun 12 Python
python动态加载包的方法小结
Apr 18 Python
Python进程间通信之共享内存详解
Oct 30 Python
VTK与Python实现机械臂三维模型可视化详解
Dec 13 Python
Django使用Celery异步任务队列的使用
Mar 13 Python
Python线性拟合实现函数与用法示例
Dec 13 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
Jan 15 Python
Python Websocket服务端通信的使用示例
Feb 25 Python
Python ini文件常用操作方法解析
Apr 26 Python
Python自动发送和收取邮件的方法
Aug 12 Python
如何获取numpy array前N个最大值
May 14 Python
Python绘制散乱的点构成的图的方法
Apr 21 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
php url地址栏传中文乱码解决方法集合
2010/06/25 PHP
PHP将DateTime对象转化为友好时间显示的实现代码
2011/09/20 PHP
php一个找二层目录的小东东
2012/08/02 PHP
PHP采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
php实现字符串首字母转换成大写的方法
2015/03/17 PHP
PHP几个实用自定义函数小结
2016/01/25 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
yii2控制器Controller Ajax操作示例
2016/07/23 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
2016/10/13 PHP
提高代码性能技巧谈—以创建千行表格为例
2006/07/01 Javascript
JavaScript 调试器简介
2009/02/21 Javascript
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
Vue.js实现实例搜索应用功能详细代码
2017/08/24 Javascript
浅谈node的事件机制
2017/10/09 Javascript
JavaScript图片处理与合成总结
2018/03/04 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
JS实现联想、自动补齐国家或地区名称的功能
2020/07/07 Javascript
Python 正则表达式入门(初级篇)
2016/12/07 Python
python将字典内容存入mysql实例代码
2018/01/18 Python
Python中__slots__属性介绍与基本使用方法
2018/09/05 Python
基于python cut和qcut的用法及区别详解
2019/11/22 Python
Python动态强类型解释型语言原理解析
2020/03/25 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
Carter’s官方旗舰店:美国受欢迎的婴童服装品牌
2018/01/21 全球购物
eBay比利时购物网站:eBay.be
2019/08/09 全球购物
Java中实现多态的机制是什么?
2014/12/07 面试题
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
中秋晚会策划方案
2014/06/12 职场文书
亚运会口号
2014/06/20 职场文书
环境卫生工作汇报材料
2014/10/28 职场文书
汇报材料怎么写
2014/12/30 职场文书
幸福终点站观后感
2015/06/04 职场文书
浅谈mysql执行过程以及顺序
2021/05/12 MySQL