用python脚本分析apache访问日志
1.我有一个名为access_log的apache的日志文件,为了快速能知道这个日志文件中有哪些ip访问了这个apache服务并且每个ip访问了多少次,我还想知道客户用了哪些浏览器访问该Apache服务并且这个浏览器用的次数。
2
(1)我用函数式编程的方法。
import re
def count( fname, what):R_D = {}patt = re.compile(what)with open(fname) as f1:for line in f1:m = patt.search(line)if m:key = m.group()R_D[key]=R_D.get(key,0) +1return R_D
if __name__ == '__main__':fname = 'access_log'ip = '^(\d+\.){3}\d+'br = 'Firefox|MSIE|Chrome'a1 = (count(fname,ip))a1 = list(a1.items())a2 = (count(fname,br))a2 = list(a2.items())a1.sort(key=lambda seq:seq[-1],reverse=True)a2.sort(key=lambda seq:seq[-1],reverse=True)for i in a1:print('%s %s次' % i)for i in a2:print('%s %s次' % i)
效果如下:
(2)opp对象编程的方法
import re
class countpatt:def __init__(self,fname):self.fname=fnamedef count(self,what):R_D = {}patt = re.compile(what)with open(self.fname) as f1:for line in f1:m = patt.search(line)if m:key = m.group()R_D[key]=R_D.get(key,0) +1return R_D
if __name__ == '__main__':fname = 'access_log'ip = '^(\d+\.){3}\d+'br = 'Firefox|MSIE|Chrome'a1 = countpatt(fname)a1 = a1.count(ip)a2 = countpatt(fname)a2 = a2.count(br)a1 = list(a1.items())a2 = list(a2.items())a1.sort(key=lambda seq:seq[-1],reverse=True)a2.sort(key=lambda seq:seq[-1],reverse=True)for i in a1:print('%s %s次' % i)for i in a2:print('%s %s次' % i)
效果如下
欢迎大家观看我的视频教程:Python3入门到进阶
用python脚本分析apache访问日志相关推荐
- python脚本分析apache访问日志
问题: 编写count_patt.py脚本,实现一个apche日志分析脚本: 统计每个客户端访问apache服务器的次数 将统计信息通过字典的方式显示出来 分别统计客户端是Firefox和MSIE的访 ...
- 分析apache访问日志
# # 分析apache访问日志 # 编写一个apche日志分析脚本 # 1. 统计每个客户端访问apache服务器的次数 # 2. 将统计信息通过字典的方式显示出来 # 3. 分别统计客户端是 ...
- python 统计分析apache日志_python分析apache访问日志脚本分享
#!/usr/bin/env python # coding=utf-8 #------------------------------------------------------ # Name: ...
- 使用Python分析apache访问日志
3.1 问题 编写count_patt.py脚本,实现一个apche日志分析脚本: 统计每个客户端访问apache服务器的次数 将统计信息通过字典的方式显示出来 分别统计客户端是Firefox和MSI ...
- python网站访问日志分析_python分析apache网站日志web日志的代码
python分析apache网站日志的代码 1.分析日志的python框架awk.py 代码示例: # # Custom awk.py module # class controller: def _ ...
- 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志
2019独角兽企业重金招聘Python工程师标准>>> 11.18 Apache用户认证 htpasswd命令 >htpasswd命令是Apache的Web服务器内置工具,用于 ...
- Apache用户认证、域名跳转、Apache访问日志
httpd的用户认证 注意: 本章使用浏览器进行检测的前提是在物理机hosts文件添加虚拟机IP和虚拟主机域名. 配置用户认证 编辑httpd配置文件/usr/local/apache2.4/conf ...
- apache访问日志
apache访问日志 [root@chy ~]# ls /usr/local/apache2.4/logs/ access_log error_log httpd.pid (查看apache日志路径, ...
- Linux centos7 VMware Apache访问日志不记录静态文件、访问日志切割、静态元素过期时间...
一.Apache访问日志不记录静态文件 网站大多元素为静态文件,如图片.css.js等,这些元素可以不用记录 vim /usr/local/apache2.4/conf/extra/httpd-vho ...
最新文章
- css字体更小 css比12px更小的方法
- 11月16日bd之旅意外参加黄波博士讲座
- hexo 博客支持PWA和压缩博文
- linux 线程pthread_detach,linux线程之pthread_join和pthread_detach
- Tensorflow 2.0的新特性
- Keymob浅析2016网络营销十大趋势
- malloc/free 和 new/delete
- 用doss进入mysql_一键连接给你省了多少事_DOSS 听吧_音频评测-中关村在线
- python通过ntohl和htonl等函数实现主机字节序和网络字节序相互转换
- [转载] python - map()解析
- CentOS 6.6 安装 Node.js
- SCOM 2012系列⑪单台服务器性能图监控
- python编写计算器实例,Python只用40行代码编写的计算器实例
- BP神经网络简单应用实例,bp神经网络应用举例
- 英语流利说 核心课 level6 unit2
- 定点补码加减法运算_定点整数的加减法
- 基因组选择技术在农业动物育种中的应用
- amd cpu排行_2020英特尔cpu排行_2019 cpu天梯图 intel和amd cpu性能排行
- 12面魔方公式图解法_高手指教一下十二面魔方怎么拼?
- 手机中SN、MEID、IMEI的意思
热门文章
- ISO 14644, 1-16合集,英文、中文,2021洁净室及相关受控环境国际标准.
- Nginx Rewrite跳转
- php mgtv m3u8,芒果TV解析源码
- 盛世昊通带你领略四驱MPV的魅力
- 1964503-39-6,Carboxy-PEG4-phosphonic acid ethyl ester包含羧酸端基和膦酸乙酯部分
- 在金融危机中的财富创造大会
- 记一次使用mybatisplus新增功能出现Could not set property ‘id‘ of class XXXXXXXX
- Python Turtle库画一棵对称勾股树,美丽惊艳的分形世界!
- Android OCR文字识别 实时扫描手机号(极速扫描单行文本方案)
- 【Kotlin基础系列】第1章 简介