首页 > 代码库 > django+pandas+matplotlib进行日志分析,画图,页面展示
django+pandas+matplotlib进行日志分析,画图,页面展示
首先装好环境。
Django的配置这里不再说了
看看日志格式,以及我们需要做什么,一条举例
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过来,大概统计下。
如何统计我就不说了,直接上结果
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}
我只取了前几名,整理成了一个字典
开始作图
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的视图里,当你访问页面的时候即可得到图片。
django+pandas+matplotlib进行日志分析,画图,页面展示
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。