首页 > 其他 > 详细

日志分析

时间:2018-07-09 23:40:19      阅读:304      评论:0      收藏:0      [点我收藏+]
import io output = io.StringIO() output.write(‘the first code\n‘) print(‘ddd‘, file=output) # 去除内容 # contents = output.getvalue() # print(contents)
print?
# 日志分析器
# 练习文件操作  读
# 复习字符串,正则
# 复习函数,类
# kv编程论:
# 项目:拆解
# 功能: 函数
# 多函数:类
import os
basedir = r‘D:\搜狗高速下载\python\文件与日志-演示代码\文件与日志-演示代码\02-auto\data‘
log_path = os.path.join(basedir, ‘access.log‘)
log_file = open(log_path)
log_data = log_file.readlines()
log_file.close()
d = {}
d[‘200‘] = d.get(‘200‘, 0) + 1  # dic.get(‘200‘, 默认值)
d
{‘200‘: 1}
status_dic = {}
for line in log_data:
    line_status = line.split(‘ ‘)[8]
    if line_status == ‘200‘:
        status_dic[line_status] = status_dic.get(line_status, 0 ) + 1

print(status_dic)
{‘200‘: 349}
import re
re_ip = re.compile(r‘((2[0-4]\d|25[0-5]|[0-1]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[0-1]?\d\d?)‘)
ip_dic ={}
for line in log_data:
    match = re_ip.match(line)
    if match:
        ip = match.group()
        ip_dic[ip] = ip_dic.get(ip, 0 ) + 1
print(ip_dic) 
print()
print(len(ip_dic))
{‘220.181.7.76‘: 3, ‘220.181.7.116‘: 1, ‘209.85.228.85‘: 8, ‘209.85.228.84‘: 9, ‘125.22.2.42‘: 9, ‘98.155.184.203‘: 4, ‘61.135.216.104‘: 9, ‘99.168.127.53‘: 20, ‘66.249.65.40‘: 113, ‘67.195.114.50‘: 31, ‘75.139.202.90‘: 7, ‘81.170.208.83‘: 150, ‘193.189.143.44‘: 1, ‘77.88.26.26‘: 21, ‘209.85.228.81‘: 6, ‘209.85.228.80‘: 4, ‘72.197.207.17‘: 3, ‘68.34.123.71‘: 2, ‘81.6.62.109‘: 6, ‘119.63.198.101‘: 1, ‘88.131.106.31‘: 8, ‘72.14.199.102‘: 7, ‘38.99.97.47‘: 2, ‘124.115.0.26‘: 1, ‘220.181.7.59‘: 1, ‘173.60.229.58‘: 18, ‘70.173.59.173‘: 2, ‘24.205.42.80‘: 7, ‘174.67.213.248‘: 1, ‘93.158.131.169‘: 4, ‘220.181.7.57‘: 1, ‘38.113.234.181‘: 6, ‘220.181.7.78‘: 1, ‘82.60.128.83‘: 1, ‘174.129.3.160‘: 2, ‘220.181.7.84‘: 2, ‘220.181.7.65‘: 1, ‘75.101.247.128‘: 1, ‘207.46.13.47‘: 2, ‘119.63.198.82‘: 1, ‘68.180.211.142‘: 2, ‘115.31.66.210‘: 6, ‘209.85.228.83‘: 4, ‘72.234.136.77‘: 20, ‘209.85.228.82‘: 4, ‘220.181.7.89‘: 2, ‘220.181.94.216‘: 5, ‘220.181.7.29‘: 1, ‘193.189.143.32‘: 1, ‘75.65.250.3‘: 2, ‘220.181.7.125‘: 1, ‘207.46.204.238‘: 1, ‘207.46.199.54‘: 1, ‘72.128.44.59‘: 6, ‘69.147.112.168‘: 1, ‘75.101.176.194‘: 2, ‘220.181.7.56‘: 1, ‘75.101.238.112‘: 3, ‘220.181.7.127‘: 1, ‘93.139.75.227‘: 1, ‘207.46.13.100‘: 1, ‘81.170.214.231‘: 100, ‘94.246.127.36‘: 7, ‘220.181.7.91‘: 1, ‘65.70.96.75‘: 5, ‘207.46.204.196‘: 1, ‘220.181.7.117‘: 1, ‘166.205.138.249‘: 11, ‘66.249.65.42‘: 4, ‘220.181.7.122‘: 1, ‘207.46.195.226‘: 1, ‘95.108.142.138‘: 6, ‘220.181.7.64‘: 1, ‘38.113.234.180‘: 14, ‘124.115.4.201‘: 1, ‘81.255.213.232‘: 50, ‘220.181.7.80‘: 1, ‘207.46.195.236‘: 1, ‘24.62.73.137‘: 1, ‘193.189.143.31‘: 1, ‘79.40.238.207‘: 7, ‘216.129.119.14‘: 1, ‘216.129.119.40‘: 1, ‘220.181.7.74‘: 1, ‘81.255.213.231‘: 50, ‘67.218.116.130‘: 1, ‘67.218.116.132‘: 1, ‘67.218.116.166‘: 1, ‘216.129.119.41‘: 1, ‘67.218.116.133‘: 1, ‘67.218.116.164‘: 1, ‘67.218.116.162‘: 1, ‘207.46.204.195‘: 1, ‘207.46.199.180‘: 1, ‘216.129.119.10‘: 1, ‘220.181.7.96‘: 1, ‘216.129.119.13‘: 1, ‘41.225.213.90‘: 1, ‘90.195.138.71‘: 7, ‘220.181.7.93‘: 1, ‘220.181.7.82‘: 1, ‘24.62.152.212‘: 6, ‘166.205.4.62‘: 6, ‘68.59.242.134‘: 11, ‘196.203.53.144‘: 1, ‘75.57.176.28‘: 6, ‘220.181.7.67‘: 1}

107

日志分析

原文:http://blog.51cto.com/13118411/2139489

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!