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实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
简单实现python进度条脚本
Dec 18 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
Jun 11 Python
python3安装speech语音模块的方法
Dec 24 Python
详解python中的线程与线程池
May 10 Python
pandas删除行删除列增加行增加列的实现
Jul 06 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
Feb 13 Python
python环境下安装opencv库的方法
Mar 05 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
Jul 01 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
Dec 07 Python
Python实现钉钉/企业微信自动打卡的示例代码
Feb 02 Python
Python中seaborn库之countplot的数据可视化使用
Jun 11 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程序员编程注意事项
2008/04/10 PHP
hessian 在PHP中的使用介绍
2010/12/13 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
PHP用swoole+websocket和redis实现web一对一聊天
2019/11/05 PHP
js cookies实现简单统计访问次数
2009/11/24 Javascript
关于this和self的使用说明
2010/08/01 Javascript
再谈javascript面向对象编程
2012/03/18 Javascript
js将控件隐藏及display属性的使用介绍
2013/12/30 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
浅谈几种常用的JS类定义方法
2016/06/08 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
详解AngularJS中的表单验证(推荐)
2016/11/17 Javascript
jQuery实现在HTML文档加载完毕后自动执行某个事件的方法
2017/05/08 jQuery
详谈JS中数组的迭代方法和归并方法
2017/08/11 Javascript
Dropify.js图片宽高自适应的方法
2017/11/27 Javascript
windows实现npm和cnpm安装步骤
2019/10/24 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
Python中使用ConfigParser解析ini配置文件实例
2014/08/30 Python
python在不同层级目录import模块的方法
2016/01/31 Python
python实现三维拟合的方法
2018/12/29 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
python实现猜单词游戏
2020/05/22 Python
在django中查询获取数据,get, filter,all(),values()操作
2020/08/09 Python
Linux如何压缩可执行文件
2013/10/21 面试题
幼儿园教师辞职信
2014/01/18 职场文书
大学生毕业鉴定
2014/01/31 职场文书
文明家庭先进事迹材料
2014/05/14 职场文书
应聘教师自荐书
2014/06/16 职场文书
学校感恩教育活动总结
2014/07/07 职场文书
咖啡店创业计划书
2014/08/15 职场文书
试用期员工工作自我评价
2014/09/10 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
优秀大学生事迹材料
2014/12/24 职场文书
员工升职自荐信
2015/03/27 职场文书
手把手教你用SpringBoot将文件打包成zip存放或导出
2021/06/11 Java/Android