内容目录

  • 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)

  • 模板页面(控制流程)

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

本次分享时间:2018-11-08

21:00-22:00

报名方式:扫码添加小助手备注:公开课 来源:博客园,会拉入直播分享群

提示:51Reboot Python 零基础入门课程正在火热招生。

可视化分析 web 访问日志的更多相关文章

  1. 机器数据的价值 - Web 访问日志和数据库审计日志

    计算机数据 大量的数据流,不断增长的来源,蕴含着巨大的价值 在 Splunk,我们大量谈及计算机数据.这些数据是指在数据中心.“物联网”和互联设备世界中运行的所有系统产生的数据.其中包括支撑组织的应用 ...

  2. 采集并分析Nginx访问日志

    日志服务支持通过数据接入向导配置采集Nginx日志,并自动创建索引和Nginx日志仪表盘,帮助您快速采集并分析Nginx日志. 许多个人站长选取了Nginx作为服务器搭建网站,在对网站访问情况进行分析 ...

  3. Python基础(三):简化除法判断、分析apache访问日志、扫描存活主机、利用多线程实现ssh并发访问

    一.简化除法判断 目标: 编写mydiv.py脚本,主要要求如下: 提示用户输入一个数字作为除数 如果用户按下Ctrl+C或Ctrl+D则退出程序 如果用户输入非数字字符,提示用户应该输入数字 如果用 ...

  4. 利用GoAccess分析Nginx访问日志

    原文链接:https://blog.csdn.net/yown/article/details/56027112 需求:及时得到线上用户访问日志分析统计结果,以便给开发.测试.运维.运营人员提供决策! ...

  5. 使用hive分析nginx访问日志方法

    以下案例是使用hive分析nginx的访问日志案例,其中字段分隔通过正则表达式匹配,具体步骤如下: 日志格式: 192.168.5.139 - - [08/Jun/2017:17:09:12 +080 ...

  6. 命令分析nginx访问日志的用法

    awk分析日志常用高级使用命令方法 分析访问日志(Nginx为例) 日志格式: '$remote_addr - $remote_user [$time_local] "$request&qu ...

  7. Centos下Nginx配置WEB访问日志并结合shell脚本定时切割

    在一个成熟的WEB系统里,没有日志管理是不可以的,有了日志,可以帮助你得到用户地域来源.跳转来源.使用终端.某个URL访问量等相关信息:通过错误日志,你可以得到系统某个服务或server的性能瓶颈等. ...

  8. python脚本分析nginx访问日志

    日志格式如下: 223.74.135.248 [11/May/2017:11:19:47 +0800] "POST /login/getValidateCode HTTP/1.1" ...

  9. 统计web 访问日志的请求数据

    tomcat日志格式  在配置文件 server.xml 中,具体参照官方文档 https://tomcat.apache.org/tomcat-8.0-doc/config/valve.html#A ...

随机推荐

  1. UNIX高级环境编程(9)进程控制(Process Control)- fork,vfork,僵尸进程,wait和waitpid

    本章包含内容有: 创建新进程 程序执行(program execution) 进程终止(process termination) 进程的各种ID   1 进程标识符(Process Identifie ...

  2. buff/cache 内容释放

    oscache远程服务器特别卡,top命令查看获得 buff/cache 占据内存特别大,使用以下命令清理缓存: swap清理: swapoff -a && swapon -a 注意: ...

  3. SQL Sever——妙用种子列

    /****** Script for SelectTopNRows command from SSMS ******/ SELECT TOP 1000 [OFFRCD_STATUS_ID] ,[OFF ...

  4. MySql+Memcached架构的问题

    Memcached采用客户端-服务器的架构,客户端和服务器端的通讯使用自定义的协议标准,只要满足协议格式要求,客户端Library可以用任何语言实现. Memcached服务器使用基于Slab的内存管 ...

  5. jdk8环境下,添加重复注解的美好体验

    为了实现业务层缓存,定义了几个注解:@Cache.able.@Cache.put.@Cache.del 分别实现对业务方法的 缓存检测.缓存插入 和 缓存清除. public @interface C ...

  6. 1015. [JSOI2008]星球大战【并查集】

    Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的 机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通 ...

  7. POJ3977 Subset

    嘟嘟嘟 这个数据范围显然是折半搜索. 把序列分成两半,枚举前一半的子集,存下来.然后再枚举后一半的子集,二分查找. 细节: 1.最优解可能只在一半的子集里,所以枚举的时候也要更新答案. 2.对于当前结 ...

  8. 在不升级 mysql 的情况下直接使用 mysql utf8 存储 超过三个字节的 emoji 表情

    由于现在数据库的版本是5.5.2,但是看网上说要直接存储emoji表情,需要升级到5.5.3然后把字符集设置为utf8mb4,但是升级数据库感觉属于敏感操作. 考虑了多久之后直接考虑使用正则来替换,但 ...

  9. C#中控件Control的Paint事件和OnPaint虚函数的区别

    句柄 : 句柄,是整个Windows编程的基础.一个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按 ...

  10. Linux内存调试工具初探-MEMWATCH(转)

    C 语言作为 Linux 系统上标准的编程语言给予了我们对动态内存分配很大的控制权.这种自由可能会导致严重的内存管理问题,可能导致程序崩溃或随时间的推移导致性能降级. 内存泄漏(即 malloc()  ...