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中迭代器(iterator)用法实例分析
Apr 29 Python
Python机器学习logistic回归代码解析
Jan 17 Python
Python实现k-means算法
Feb 23 Python
Python数据分析库pandas基本操作方法
Apr 08 Python
Python使用wget实现下载网络文件功能示例
May 31 Python
利用Python如何生成便签图片详解
Jul 09 Python
Python I/O与进程的详细讲解
Mar 08 Python
Python Web程序搭建简单的Web服务器
Jul 31 Python
python requests证书问题解决
Sep 05 Python
python做接口测试的必要性
Nov 20 Python
对python中各个response的使用说明
Mar 28 Python
Python进阶学习之带你探寻Python类的鼻祖-元类
May 08 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
Protoss兵种介绍
2020/03/14 星际争霸
swfupload 多文件上传实现代码
2008/08/27 PHP
PHP根据传入参数合并多个JS和CSS文件的简单实现
2014/06/13 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
用jQuery技术实现Tab页界面之二
2009/09/21 Javascript
几个有趣的Javascript Hack
2010/07/24 Javascript
如何确保JavaScript的执行顺序 之jQuery.html深度分析
2011/03/03 Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
2012/12/09 Javascript
利用浏览器全屏api实现js全屏
2014/01/16 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
JavaScript中的函数声明和函数表达式区别浅析
2015/03/27 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
使用jQuery判断浏览器滚动条位置的方法
2016/05/30 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
为什么说JavaScript预解释是一种毫无节操的机制详析
2018/11/18 Javascript
ionic使用angularjs表单验证(模板验证)
2018/12/12 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
2019/01/06 Javascript
Vue分页效果与购物车功能
2019/12/13 Javascript
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
Python实现简单的语音识别系统
2017/12/13 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
Python XlsxWriter模块Chart类用法实例分析
2019/03/11 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
Python ini文件常用操作方法解析
2020/04/26 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
python绘制趋势图的示例
2020/09/17 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
国外平面设计第一市场:99designs
2016/10/25 全球购物
英国手机零售商:Metrofone
2019/03/18 全球购物
光电信息专业应届生求职信
2013/10/07 职场文书
大学生找工作求职信
2014/07/09 职场文书
企业三严三实学习心得体会
2014/10/13 职场文书
教师考核评语大全
2014/12/31 职场文书