实用:python中的网站日志分析项目完整代码

本文分享了如何在PyCharm中进行网站日志分析的完整Python代码,包括项目的运行步骤和测试.log文件的内容解析。

进入pychram终端:

pip install user-agent pyyaml ua-parser

完整代码:

from pathlib import Path
import datetime
import re
from user_agents import parse
from queue import Queue
import threading
from collections import defaultdict
#192.168.56.1 - - [18/Mar/2019:10:55:04 +0800] "POST /zabbix/jsrpc.php?output=json-rpc HTTP/1.1" 200 64 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36"


#日志格式处理(数据清洗)
def extract(line:str)->dict:
    # print(line)
    pattern = '''(?P<remote>[\d\.]{7,}) - - \[(?P<datetime>[^\[\]]+)\] \"(?P<request>[^\"]+)\" (?P<status>\d+) (?P<size>\d+) \"(?P<reference>[^\"]+)\" \"(?P<useragent>[^\"]+)\"'''
    regex = re.compile(pattern)
    matcher = regex.match(line)
    if matcher:
        return {k:ops.get(k,lambda x:x)(v) for k,v in matcher.groupdict().items()}

def convers_time(src:str):
    ret= datetime.datetime.strptime(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值