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 相关文章推荐
Django admin美化插件suit使用示例
Dec 12 Python
python删除不需要的python文件方法
Apr 24 Python
eclipse创建python项目步骤详解
May 10 Python
Python常用模块之requests模块用法分析
May 15 Python
Python read函数按字节(字符)读取文件的实现
Jul 03 Python
Numpy数组array和矩阵matrix转换方法
Aug 05 Python
Django中的用户身份验证示例详解
Aug 07 Python
Python获取时间戳代码实例
Sep 24 Python
OpenCV模板匹配matchTemplate的实现
Oct 18 Python
Keras预训练的ImageNet模型实现分类操作
Jul 07 Python
python3 hdf5文件 遍历代码
May 19 Python
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
Apr 13 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生成静态页面的简单示例
2014/04/17 PHP
PHP文件操作实例总结【文件上传、下载、分页】
2018/12/08 PHP
Javascript面象对象成员、共享成员变量实验
2010/11/19 Javascript
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
基于JQuery的抓取博客园首页RSS的代码
2011/12/01 Javascript
批量实现面向对象的实例代码
2013/07/01 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
IE浏览器下PNG相关功能
2015/07/05 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
通过node-mysql搭建Windows+Node.js+MySQL环境的教程
2016/03/01 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
Vue非父子组件通信详解
2017/06/12 Javascript
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
2017/11/02 Javascript
NodeJS服务器实现gzip压缩的示例代码
2018/10/12 NodeJs
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
2019/05/16 Javascript
Vue使用mixin分发组件的可复用功能
2019/09/01 Javascript
JS数组方法reverse()用法实例分析
2020/01/18 Javascript
JavaScript实现简易计算器小功能
2020/10/22 Javascript
[00:16]热血竞技场
2019/03/06 DOTA
python 性能优化方法小结
2017/03/31 Python
50行Python代码实现人脸检测功能
2018/01/23 Python
python编写弹球游戏的实现代码
2018/03/12 Python
TensorFlow实现模型评估
2018/09/07 Python
Python/ArcPy遍历指定目录中的MDB文件方法
2018/10/27 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
python实现各种插值法(数值分析)
2019/07/30 Python
详解python中__name__的意义以及作用
2019/08/07 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
adidas旗下高尔夫装备供应商:TaylorMade Golf(泰勒梅高尔夫)
2016/08/28 全球购物
扩大国家免疫规划实施方案
2014/03/21 职场文书
餐饮投资计划书
2014/04/25 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
2015年煤矿安全工作总结
2015/05/23 职场文书
Oracle数据库中通用的函数实例详解
2022/03/25 Oracle