內容目錄
- 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-11-08
21:00-22:00
掃碼添加小助手wechat:17812796394 備註:公開課 來源:今日頭條,會拉入直播分享群
閱讀更多 Python學習 的文章