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版本的读写锁操作方法
Apr 25 Python
python 环境变量和import模块导入方法(详解)
Jul 11 Python
Python实现的计算马氏距离算法示例
Apr 03 Python
使用Python和Prometheus跟踪天气的使用方法
May 06 Python
将python文件打包成EXE应用程序的方法
May 22 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
Jun 21 Python
用Python爬取QQ音乐评论并制成词云图的实例
Aug 24 Python
使用python模拟高斯分布例子
Dec 09 Python
Django中从mysql数据库中获取数据传到echarts方式
Apr 07 Python
python实现数学模型(插值、拟合和微分方程)
Nov 13 Python
python 指定源路径来解决import问题的操作
Mar 04 Python
python微信智能AI机器人实现多种支付方式
Apr 12 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
咖啡常见的种类
2021/03/03 新手入门
PHP4实际应用经验篇(2)
2006/10/09 PHP
解析php根据ip查询所在地区(非常有用,赶集网就用到)
2013/07/01 PHP
php图片添加水印例子
2016/07/20 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
2020/05/02 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
在JavaScript中实现类的方式探讨
2013/08/28 Javascript
浅谈jQuery中对象遍历.eq().first().last().slice()方法
2014/11/26 Javascript
jQuery控制frames及frame页面JS的方法
2016/03/08 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
2016/07/12 Javascript
canvas绘制万花筒效果(代码分享)
2017/01/20 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
详解使用jQuery.i18n.properties实现js国际化
2018/05/04 jQuery
node.js学习笔记之koa框架和简单爬虫练习
2018/12/13 Javascript
通过npm或yarn自动生成vue组件的方法示例
2019/02/12 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
python命令行参数sys.argv使用示例
2014/01/28 Python
python编写网页爬虫脚本并实现APScheduler调度
2014/07/28 Python
Python操作串口的方法
2015/06/17 Python
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
python使用pyecharts库画地图数据可视化的实现
2020/03/25 Python
Python中bisect的用法及示例详解
2020/07/20 Python
python爬虫判断招聘信息是否存在的实例代码
2020/11/20 Python
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
毕业生求职简历的自我评价
2013/10/23 职场文书
财务专业大学生职业生涯规划范文
2013/12/30 职场文书
求职信模板
2014/05/23 职场文书
经销商年会策划方案
2014/05/29 职场文书
优秀团员个人总结
2015/02/26 职场文书
python第三方网页解析器 lxml 扩展库与 xpath 的使用方法
2021/04/06 Python
golang协程池模拟实现群发邮件功能
2021/05/02 Golang