視覺化分析 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)
、 ofollow,noindex">https://www.jianshu.com/p/4a801f61ecda
- jinja2 模板引擎,用於根據模板生成檔案
、使用步驟(3步走)
、、建立載入器
、、獲取模板
、、渲染
、模板語言
、、列印變數
、、流程控制(條件、迴圈)
、、過濾器
、、模板繼承
- geoip2 用於 maxmind 二進位制庫 mmdb 查詢
、開啟檔案
、獲取 ip 資訊(國家、城市、地理位置等)
、關閉檔案
視覺化元件 echarts 介紹
-
專案介紹:視覺化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 零基礎入門課程正在火熱招生。
