Python统计日志中每个IP出现次数的方法


Posted in Python onJuly 06, 2015

本文实例讲述了Python统计日志中每个IP出现次数的方法。分享给大家供大家参考。具体如下:

这脚本可用于多种日志类型,本人测试MDaemon的all日志文件大小1.23G左右,分析用时2~3分钟

代码很简单,很适合运维人员,有不足的地方请大家指出哦

#-*- coding:utf-8 -*-
import re,time
def mail_log(file_path):
  global count
  log=open(file_path,'r')
  C=r'\.'.join([r'\d{1,3}']*4)
  find=re.compile(C)
  count={}
  for i in log:
    for ip in find.findall(i):
      count[ip]=count.get(ip,1)+1
if __name__ == '__main__':
  print time.clock()
  num=0
  mail_log(r'e:\MDaemon-20110329-all.log')
  R=count.items()
  for i in R:
    if i[1]>0: #提取出现次数大于0的IP
      print i
      num+=1
  print '符合要求数量:%s耗时(%s)'%(num,time.clock())

输出结果如下:

('206.220.200.250', 8)
('66.40.52.37', 10)
('66.40.52.36', 5)
('207.115.11.41', 4)
('96.47.193.25', 9)
('96.47.193.24', 5)
('96.47.193.23', 17)
('72.32.181.92', 5)
('67.76.103.168', 10)
('64.34.161.218', 5)
('209.151.96.3', 7)
('61.135.168.0', 15)
('199.81.128.37', 2)
('199.81.128.36', 2)
('199.81.128.38', 2)
('198.45.19.170', 16)
('12.236.15.9', 4)
('66.96.142.52', 51)
('66.96.142.51', 55)
('66.96.142.50', 62)
('64.18.5.13', 1553)
('69.39.47.14', 9)
('64.18.5.11', 1557)
('64.18.5.10', 2752)
('210.72.13.102', 4)
('64.118.108.196', 4)
('66.60.192.44', 26)
('112.90.194.8', 4)
('198.49.244.245', 5)
('216.183.174.227', 5)
('195.245.230.131', 5)
('211.115.13.27', 5)
('222.247.123.217', 3)
('218.213.85.210', 2)
('201.236.205.96', 3)
('209.85.161.136', 2)
('173.165.120.188', 5)
('50.22.89.39', 7)
('219.129.20.168', 3)
('24.106.197.167', 5)
('207.190.225.69', 4)
('156.3.32.236', 5)
('209.92.157.161', 5)
('216.153.192.200', 5)
('76.77.158.130', 3)
('12.166.4.221', 5)
('66.46.182.96', 4)
('80.252.97.102', 4)
('66.46.182.94', 5)
('66.46.182.95', 4)
('124.14.5.3', 3)
('202.85.139.0', 5)
('207.173.160.17', 15)
('143.101.0.21', 5)
('65.75.75.59', 9)
('77.88.21.89', 53)
('216.128.11.30', 44)

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python网络爬虫采集联想词示例
Feb 11 Python
Python标准库之循环器(itertools)介绍
Nov 25 Python
使用Python中的tkinter模块作图的方法
Feb 07 Python
微信跳一跳python自动代码解读1.0
Jan 12 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
Apr 18 Python
详解python多线程、锁、event事件机制的简单使用
Apr 27 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
Oct 29 Python
OpenCV 轮廓检测的实现方法
Jul 03 Python
Python 200行代码实现一个滑动验证码过程详解
Jul 11 Python
Python有参函数使用代码实例
Jan 06 Python
Python3爬虫发送请求的知识点实例
Jul 30 Python
virtualenv隔离Python环境的问题解析
Jun 21 Python
python统计日志ip访问数的方法
Jul 06 #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
You might like
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
php常用Output和ptions/Info函数集介绍
2013/06/19 PHP
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
PHP保存session到memcache服务器的方法
2016/01/19 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
js中符号转意问题示例探讨
2013/08/19 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
js如何判断输入字符串长度
2015/12/16 Javascript
javascript HTML+CSS实现经典橙色导航菜单
2016/02/16 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
2016/11/30 Javascript
Bootstrap常用组件学习(整理)
2017/03/24 Javascript
BootStrap 页签切换失效的解决方法
2017/08/17 Javascript
Vue 2.0入门基础知识之内部指令详解
2017/10/15 Javascript
Vue 中使用vue2-highcharts实现曲线数据展示的方法
2018/03/05 Javascript
Vuex实现计数器以及列表展示效果
2018/03/10 Javascript
浅谈Webpack下多环境配置的思路
2018/06/27 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
html中创建并调用vue组件的几种方法汇总
2020/11/17 Javascript
[04:22]DOTA2上海特级锦标赛主赛事第四日TOP10
2016/03/06 DOTA
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
python中关于日期时间处理的问答集锦
2013/03/08 Python
python实现问号表达式(?)的方法
2013/11/27 Python
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
python爬虫实战之爬取京东商城实例教程
2017/04/24 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
车工岗位职责
2013/11/26 职场文书
外贸业务员求职信范文
2013/12/12 职场文书
大众服装店创业计划书范文
2014/01/01 职场文书
项目施工员岗位职责
2014/03/09 职场文书
住院医师规范化培训实施方案
2014/06/12 职场文书
2015年大学生工作总结
2015/04/21 职场文书
Go web入门Go pongo2模板引擎
2022/05/20 Golang