乾貨分享|可視化分析 web 訪問日誌

內容目錄

  • 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 訪問日誌

更多項目代碼分享結束後資料一併分享給大家。

本次分享時間:2018-11-08

21:00-22:00

掃碼添加小助手wechat:17812796394 備註:公開課 來源:今日頭條,會拉入直播分享群


分享到:


相關文章: