使用python找出nginx访问日志中访问次数最多的10个ip排序生成网页
方法1:
linux下使用awk命令
# cat access1.log | awk '{print $1" "$7" "$9}'|sort -n|uniq -c |sort -n -r|head -10
方法2:
通过python处理日志
#encoding=utf-8 # 找到日志中的top 10,日志格式如下 #txt = '''100.116.167.9 - - [22/Oct/2017:03:55:53 +0800] "HEAD /check HTTP/1.0" 200 0 "-" "-" "-" ut = 0.001''' #nodes = txt.split() #print 'ip:%s, url:%s, code:%s' % (nodes[0],nodes[6],nodes[8]) # 统计ip,url,code的次数,并且生成字典 def log_analysis(log_file, dpath, topn = 10): path=log_file shandle = open(path, 'r') count = 1 log_dict = {} while True: line = shandle.readline() if line == '': break #print line nodes = line.split() #count += 1 #if count >= 10: #