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中__init__和__new__的区别详解
Jul 09 Python
python打开网页和暂停实例
Sep 30 Python
用Python进行基础的函数式编程的教程
Mar 31 Python
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
Aug 18 Python
纯python实现机器学习之kNN算法示例
Mar 01 Python
pandas数据预处理之dataframe的groupby操作方法
Apr 13 Python
Django Aggregation聚合使用方法解析
Aug 01 Python
python实现的自动发送消息功能详解
Aug 15 Python
opencv-python的RGB与BGR互转方式
Jun 02 Python
python内置进制转换函数的操作
Jun 02 Python
关于python中readlines函数的参数hint的相关知识总结
Jun 24 Python
python神经网络学习 使用Keras进行回归运算
May 04 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三元运算符的结合性介绍
2012/01/10 PHP
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
解析php获取字符串的编码格式的方法(函数)
2013/06/21 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
2014/05/06 PHP
PHP回调函数与匿名函数实例详解
2017/08/16 PHP
ThinkPHP5+Layui实现图片上传加预览功能
2018/08/17 PHP
PHP PDOStatement::execute讲解
2019/01/31 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
解决在laravel中auth建立时候遇到的问题
2019/10/15 PHP
javaScript Array(数组)相关方法简述
2009/07/25 Javascript
jquery 表格分页等操作实现代码(pagedown,pageup)
2010/04/11 Javascript
JS Replace()的高级使用方法介绍
2013/06/29 Javascript
详解Javascript模板引擎mustache.js
2016/01/20 Javascript
JavaScript DOM 对象深入了解
2016/07/20 Javascript
微信小程序 中wx.chooseAddress(OBJECT)实例详解
2017/03/31 Javascript
ES6 中可以提升幸福度的小功能
2018/08/06 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
Layui实现带查询条件的分页
2019/07/27 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
2019/10/15 Javascript
Vue开发环境跨域访问问题
2020/01/22 Javascript
JavaScript对象原型链原理详解
2020/02/05 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
PyQt5每天必学之事件与信号
2018/04/20 Python
Python编程学习之如何判断3个数的大小
2019/08/07 Python
Python操作qml对象过程详解
2019/09/26 Python
python使用pip安装SciPy、SymPy、matplotlib教程
2019/11/20 Python
欧舒丹美国官网:L’Occitane美国
2018/02/23 全球购物
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
香蕉共和国工厂店:Banana Republic Factory
2018/06/09 全球购物
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
财务总监管理岗位职责
2014/03/08 职场文书
幼儿园见习报告范文
2014/10/30 职场文书
会议接待欢迎词范文
2015/01/26 职场文书