python统计时间的次数的代码_python脚本实现统计日志文件中的ip访问次数代码分享...

适用的日志格式:

106.45.185.214 - - [06/Aug/2014:07:38:59 +0800] "GET / HTTP/1.0" 200 10 "-" "-"

171.104.119.22 - - [06/Aug/2014:08:55:01 +0800] "GET / HTTP/1.0" 200 10 "-" "-"

27.31.238.242 - - [06/Aug/2014:09:43:19 +0800] "GET / HTTP/1.0" 200 10 "-" "-"

218.65.202.131 - - [06/Aug/2014:10:33:59 +0800] "GET / HTTP/1.0" 200 10 "-" "-"

以上为nginx的日志,本程序只适合用于IP在开头并用空格分开的这种格式。

实例代码:

import sys

class Log:

def __init__(self,filename,dic,count):

self.filename = filename

self.dic=dic

self.count=count

def parse(self):

i=1

f=file(self.filename)

while True:

line=f.readline()

if len(line)==0:

break

ip=line.split(' ')

if ip[0] in dic:

self.dic[ip[0]]=self.dic[ip[0]]+1

else:

self.dic[ip[0]]=i

soredic=sorted(self.dic.items(),key=lambda d:d[1],reverse=True)

counts=0;

for item in soredic:

if counts==int(self.count):

break

print("IP:%s Total Times: %s"%(item[0],item[1]))

counts=counts+1

f.close()

if __name__=="__main__":

if len(sys.argv)<3:

print('usage:log.py log.log toptimes\nexample log.py log.log 20\ncode by iswin')

sys.exit()

dic={}

log=Log(sys.argv[1],sys.argv[2])

log.parse()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值