1. 程式人生 > >視覺化分析 web 訪問日誌

視覺化分析 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)

 

  • 模板頁面(控制流程)

 

更多專案程式碼分享結束後資料一併分享給大家。

 

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

21:00-22:00

報名方式:掃碼新增小助手備註:公開課 來源:部落格園,會拉入直播分享群

 

提示:51Reboot Python 零基礎入門課程正在火熱招生。