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读取环境变量的方法和自定义类分享
Nov 22 Python
python避免死锁方法实例分析
Jun 04 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
Pandas中把dataframe转成array的方法
Apr 13 Python
tensorflow学习笔记之mnist的卷积神经网络实例
Apr 15 Python
python pandas写入excel文件的方法示例
Jun 25 Python
Python之——生成动态路由轨迹图的实例
Nov 22 Python
解决Jupyter因卸载重装导致的问题修复
Apr 10 Python
python 爬取B站原视频的实例代码
Sep 09 Python
Django限制API访问频率常用方法解析
Oct 12 Python
深入理解python多线程编程
Apr 18 Python
python实现层次聚类的方法
Nov 01 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
COM in PHP (winows only)
2006/10/09 PHP
《PHP编程最快明白》第六讲:Mysql数据库操作
2010/11/01 PHP
兼容firefox,chrome的网页灰度效果
2011/08/08 PHP
基于php验证码函数的使用示例
2013/05/03 PHP
Laravel实现构造函数自动依赖注入的方法
2016/03/16 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
js字符串的各种格式的转换 ToString,Format
2011/08/08 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
7个有用的jQuery代码片段分享
2015/05/19 Javascript
浅谈javascript中replace()方法
2015/11/10 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
微信小程序开发之Tabbar实例详解
2017/01/09 Javascript
详解jquery validate实现表单验证 (正则表达式)
2017/01/18 Javascript
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
详解JavaScript的数据类型以及数据类型的转换
2019/04/20 Javascript
python 实现分页显示从es中获取的数据方法
2018/12/26 Python
Python Django简单实现session登录注销过程详解
2019/08/06 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
2020/09/17 Python
Python制作简易版小工具之计算天数的实现思路
2020/02/13 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
Python如何定义有默认参数的函数
2020/08/10 Python
python在CMD界面读取excel所有数据的示例
2020/09/28 Python
使用css3实现的tab选项卡代码分享
2014/12/09 HTML / CSS
李宁官方网店:中国运动品牌
2017/11/02 全球购物
用你熟悉的语言写一个连接ORACLE数据库的程序,能够完成修改和查询工作
2012/06/11 面试题
EJB实例的生命周期
2016/10/28 面试题
营销总经理的岗位职责
2013/12/15 职场文书
好军嫂事迹材料
2014/01/15 职场文书
中文专业学生自我评价范文
2014/02/06 职场文书
给老师的一封建议书
2014/03/13 职场文书
2014年“向国旗敬礼”网上签名寄语活动方案
2014/09/27 职场文书
万能检讨书2000字
2014/10/17 职场文书
大一学生个人总结
2015/02/15 职场文书
工作自我评价范文
2015/03/05 职场文书
Python中使用tkFileDialog实现文件选择、保存和路径选择
2022/05/20 Python