干货|可视化分析 web 访问日志
admin
2023-07-17 04:22:45
0

内容目录

  • Python 基础
  • 使用模块介绍
  • 可视化组件 echarts 介绍
  • Web 访问日志
  • 代码解读

    讲师:KK

多语言混搭开发工程师,多年 PHP、Python 项目开发经验,曾就职 360、绿盟科技,7年工作经验。擅长于 Web 安全开发、性能优化、分布式应用开发&设计等多方面,51Reboot 金牌讲师。

Python 基础

  • 数值、字符串、列表、字典、文件的使用
  • with 关键字使用
  • 函数、lambda 函数、sorted
  • 时间类型转化

时间类型转化

干货|可视化分析 web 访问日志

统计 list 中每个元素出现的次数

languages = ['python', 'java', 'python', 'c', 'c++', 'go', 'c#', 'c++', 'lisp', 'c', 'javascript', 'java', 'python', 'matlab', 'python', 'go', 'java']
干货|可视化分析 web 访问日志

常用模块

  • os/os.path 系统/文件路径操作

    • os.mkdir/os.rmdir/os.unlink/os.listdir

    • os.path.join/os.path.abspath/os.path.dirname/os.path.exists
  • argparse 命令行参数解析

    • add_argument(short_name, full_name, type, desc, default, help, choices, nargs, action)
  • shutil 文件/文件夹操作

    • shutil.copy2/shutil.copytree/shutil.rmtree
  • logging 日志记录

    • logging.basicConfig(level, format, filename, filemode)

    • https://www.jianshu.com/p/4a801f61ecda
  • jinja2 模板引擎,用于根据模板生成文件

    • 使用步骤(3步走)

                  * 创建加载器
                  * 获取模板
                  * 渲染
  • 模板语言

    • 打印变量
    • 流程控制(条件、循环)
    • 过滤器
    • 模板继承
  • geoip2 用于 maxmind 二进制库 mmdb 查询
    • 打开文件
    • 获取 ip 信息(国家、城市、地理位置等)
    • 关闭文件

可视化组件 echarts 介绍

  • 项目地址:http://echarts.baidu.com/echarts2/
  • 项目介绍:可视化JS组件
  • 目前主要版本:2.0 & 3.0
  • 使用步骤(3 + 3):http://echarts.baidu.com/echarts2/doc/start.html
  • 常用图形
    • 饼状图
    • 曲线图
    • 柱状图
    • 仪表盘
    • 地图
    • K 线图

Web 访问日志

  • Web 访问日志是 web 服务器记录的网站被访问的过程日志
  • 日志属性
    • 什么时候
    • 什么人
    • 通过什么工具
    • 以什么方式
    • 访问了什么资源
    • 结果是什么(状态/返回数据大小)
  • 每天的点击量、总点击数量
    • 每天的日志行数、日志的总行数(每天的日志行数之和)
  • 每天的浏览者数量、总浏览者数量
    • 每天的不重复的 IP 的数量
    • 总的不重复的 IP 数量(每天不重复的 IP 数量之和???)
  • 发生错误的请求有多少次,状态码分布情况
    • 每种状态码出现的次数
  • 每天流量大小
    • 每天的日志中每行流量之和
    • 总的流量之和(每天流量之和)
  • 访问地域分布
    • 根据 IP 获取地理位置
  • 发生访问次数最多 TOP N IP 列表
  • 通用日志的格式
    干货|可视化分析 web 访问日志

  • 组合日志格式
    • 127.0.0.1 - - [14/May/2017:12:51:13 +0800] "GET /index.html HTTP/1.1" 200 4286 "http://127.0.0.1/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36“

远程主机 IP - - 请求时间 时区 方法 资源 协议 状态码 发送字节 referer 字符 浏览器信息

一些重点代码的解读

  • 程序入口
    干货|可视化分析 web 访问日志

  • 主程序
    干货|可视化分析 web 访问日志

  • 每天统计项
    干货|可视化分析 web 访问日志

  • 总统计项
    干货|可视化分析 web 访问日志

  • 模板页面(显示内容)
    干货|可视化分析 web 访问日志

  • 模板页面(echart)
    干货|可视化分析 web 访问日志

  • 模板页面(控制流程)
    干货|可视化分析 web 访问日志

更多项目代码分享结束后资料一并分享给大家。

获取资料

相关内容

热门资讯

科创环控,让智慧畜牧落到现场 青岛科创信达科技有限公司成立于 2014 年,是以智能环控、智能硬件、IoT 平台为核心的全球化科技...
“你很优秀,得不到就毁掉”,2... 2025年11月23日,西安22岁女子万某遭初恋前男友张某入室杀害,引发关注,该案件经过半年多的调查...
科学仪器新星闪耀 全国大学生科... 6月3日至4日,2026年全国大学生科学仪器创新大赛决赛在北京举行。经过激烈角逐,“面向在轨空间站的...
黄仁勋落地韩国首个采访:AI基... 英伟达首席执行官黄仁勋时隔7个月再度赴韩,将机器人技术定位为韩国下一个核心产业,并明确表态人工智能基...
阳光电源发布PowerMatr... 据经济观察报-经济观察网 2026年6月3日,第十九届国际太阳能光伏与智慧能源(上海)大会(SNEC...
害怕俄报复,美国拟取消售德“战... 据凤凰卫视援引美国《政治报》报道,多名美国和欧洲官员称,美国近期调整欧洲军事部署并缩减驻德兵力后,德...
燃气灶打着火后一会自动熄火 1、可能是煤气或者气压不足导致煤气灶自然熄火。2、还可能就是没有燃气了,这种情况下也会直接导致熄火问...
燃气灶点着火之后烧一会就熄火了... 原因是燃气灶点火针被污损,需要清理点火针的油垢;还有可能是燃气灶过压保护,需要更换一个新的减压阀;还...
为什么热水器打着火一会儿就灭了... 为什么热水器打着火一会儿就灭了?1、使用年限过久,导致内部接头松动。2、热水器中的感应针出现故障问题...
燃气灶打着火燃烧一会就灭是什么... 原因可能是热电偶老化,或者火孔被堵塞,燃气灶脉冲器收到的信号不强,甚至是收不到信号,这样就会误认为没...