内容目录

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)

jinja2 模板引擎,用于根据模板生成文件

-使用步骤(3步走)

-创建加载器

-获取模板

-模板语言

-打印变量

-流程控制(条件、循环)

-模板继承

geoip2 用于 maxmind 二进制库 mmdb 查询

-打开文件

-获取 ip 信息(国家、城市、地理位置等)

-关闭文件

可视化组件 echarts 介绍

项目介绍:可视化JS组件

目前主要版本:2.0 & 3.0

常用图形

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 "" "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 零基础入门课程正在火热招生。