干货|可视化分析web访问日志
内容目录
- Python 基础
- 使用模块介绍
- 可视化组件 echarts 介绍
- Web 访问日志
- 代码解读
讲师:KK
多语言混搭开发工程师,多年 PHP、Python 项目开发经验,曾就职 360、绿盟科技,7年工作经验。擅长于 Web 安全开发、性能优化、分布式应用开发&设计等多方面,51Reboot 金牌讲师。
成都创新互联公司主营永春网站建设的网络公司,主营网站建设方案,重庆APP开发,永春h5小程序开发搭建,永春网站营销推广欢迎永春等地区企业咨询
Python 基础
- 数值、字符串、列表、字典、文件的使用
- with 关键字使用
- 函数、lambda 函数、sorted
- 时间类型转化
时间类型转化
统计 list 中每个元素出现的次数
languages = ['python', 'java', 'python', 'c', 'c++', 'go', 'c#', 'c++', 'lisp', 'c', 'javascript', 'java', 'python', 'matlab', 'python', 'go', 'java']
常用模块
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 列表
通用日志的格式
- 组合日志格式
- 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 字符 浏览器信息
一些重点代码的解读
程序入口
主程序
每天统计项
总统计项
模板页面(显示内容)
模板页面(echart)
- 模板页面(控制流程)
更多项目代码分享结束后资料一并分享给大家。
获取资料
名称栏目:干货|可视化分析web访问日志
转载源于:http://myzitong.com/article/pechjs.html