首先裝好環境。php
Django的配置這裏再也不說了python
看看日誌格式,以及咱們須要作什麼,一條舉例api
218.104.141.167 - - [26/Jan/2014:06:46:30 +0800] "GET /main/index.php?cmd=CheckMob&Useage=REGIST&Mob=15377587416%20alt= HTTP/1.1" 200 55 "http://www.zhasini.ml/ddos.php?hm=15377587416&c=281 " "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko" 90021 175.41.23.251 - - [26/Jan/2014:06:46:31 +0800] "GET /main/index.php?cmd=CheckMob&Useage=REGIST&Mob=13276444989 HTTP/1.1" 200 55 "http://www.zhanimei.ga/mini/index.php?hm=13276444989&c=50689 " "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)" 65882
這裏有2條日誌,是我站點的日誌,能夠看見我須要統計個人站點究竟是有多少數量是直接輸入域名訪問,多少是從其餘地方referred過來,大概統計下。app
如何統計我就不說了,直接上結果ide
d={'1.htldxhzj.duapp.com': 9398, 'gtxapi.cdn.duapp.com': 79496, 'www.xxx.com': 2477070, 'www.baidu.com': 1465, 'www.bing.com': 777, 'www.aaa.com': 1113101, 'www.ccc.net.cn': 922, 'www.zhanimei.ga': 29847, 'www.zhanimei.ml': 40155, 'www.zhasini.ml': 373436}
我只取了前幾名,整理成了一個字典.net
開始做圖日誌
from pandas import Series,DataFrame import matplotlib.pyplot as plt plt.figure(figsize=(8,6), dpi=80) ts = Series(d) ts.plot(kind='barh') plt.savefig('/var/www/jastme/static/images/log.png')
HTML裏寫入img調用,把上面的代碼寫進Django的視圖裏,當你訪問頁面的時候便可獲得圖片。code