Python统计日志中每个IP出现次数的方法
更新时间:2015年07月06日 15:00:30 作者:小欢
这篇文章主要介绍了Python统计日志中每个IP出现次数的方法,实例分析了Python基于正则表达式解析日志文件的相关技巧,需要的朋友可以参考下
本文实例讲述了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程序设计有所帮助。
相关文章
numpy如何按条件给元素赋值np.where、np.clip
这篇文章主要介绍了numpy如何按条件给元素赋值np.where、np.clip问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-06-06
Python绘制圣诞树+落叶+雪花+背景音乐+浪漫弹窗 五合一版圣诞树
马上不就到圣诞节了嘛,我看到朋友圈里很多小伙伴再纷纷炫耀自己收到的专属圣诞树,今天小编给大家介绍的是通过Python绘制的五合一版圣诞树:圣诞树+落叶+雪花+背景音乐+浪漫弹窗。感兴趣的小伙伴快来学习一下吧2021-12-12
numpy如何取出对角线元素、计算对角线元素和np.diagonal
这篇文章主要介绍了numpy如何取出对角线元素、计算对角线元素和np.diagonal问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-06-06
python DataFrame中loc与iloc取数据的基本方法实例
这篇文章主要给大家介绍了关于python DataFrame中loc与iloc取数据的基本方法,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2022-02-02


最新评论