視覺化分析 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 零基礎入門課程正在火熱招生。