今晚九点|可视化分析 web 访问日志

内容目录

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

讲师:KK

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

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)
  • 模板页面(控制流程)

本文分享自微信公众号 - 日常学python(daily_learn)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-11-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Debian 9上安装和使用Composer

Composer是一种流行的PHP 依赖管理工具,主要用于促进项目依赖项的安装和更新。它将根据项目要求使用适当的版本检查特定项目所依赖的其他软件包并为您安装。

17720
来自专栏Hadoop实操

14.如何为Cloudera Manager集成OpenLDAP认证

Fayson在前面一系列文章中介绍了OpenLDAP的安装及与CDH集群中各个组件的集成,包括《1.如何在RedHat7上安装OpenLDA并配置客户端》、《2...

90320
来自专栏FreeBuf

PHP两版本大限将至,全球近七成网站需紧急更新

作为最受欢迎的服务器端语言,PHP 各版本已经被全球近8成的网站采用。而根据PHP 给出的各版本的生命周期,2019年1月1日开始,PHP 5 最后一个版本 5...

32440
来自专栏咸鱼不闲

基于http的百度语音 REST api

什么是REST api? -- REpresentational State Transfer REST api是基于http请求的一种api,就百度语音...

44630
来自专栏生信技能树

Docker应用之一键化安装Wordpress(无需代码基础)

WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。

39930
来自专栏freesan44

ACP互联网架构认证笔记-EDAS企业级分布式应用服务

EDAS支持语言Java,C++,PHP。EDAS支持Idea,Eclipse;Eclipse插件安装等编译工具。EDAS初级版仅支持应用的部署管理,不支持HS...

52070
来自专栏SpringBoot

java微信公众号开发入门(1)--开发准备

所以 ,我们需要书写一个解析跟生成 xml的工具类 有了这些以后开发就很Esay了。  

91420
来自专栏梦魇小栈

NPM 学习笔记整理

npm 之于 Node ,就像 pip 之于 Python , gem 之于 Ruby , composer 之于 PHP 。

10200
来自专栏freesan44

ACP互联网架构认证笔记-MQ消息队列服务

MQ是消息服务中间件,基于高可用分布式集群技术,是消费模式基于发布订阅模式的消息系统。支持Java,C++以及.NET,PHP,Python,为分布式应用系统提...

34230
来自专栏idealclover的填坑日常

从零开始折腾博客(4):从Wordpress迁移到Typecho

思考了很久,最终决定从Wordpress迁移到Typecho。 我承认,Wordpress是一个强大的建站工具,但是不太像博客了。 搜索主题,搜索插件,得到的太...

61530

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励