python统计日志ip访问数的方法


Posted in Python onJuly 06, 2015

本文实例讲述了python统计日志ip访问数的方法。分享给大家供大家参考。具体如下:

import re
f=open("/tmp/a.log","r")
arr={} 
lines = f.readlines()
for line in lines: 
  ipaddress=re.compile(r'^#(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?))')
  match=ipaddress.match(line)
  if match: 
    ip = match.group(1) 
    if(arr.has_key(ip)): 
      arr[ip]+=1 
    else: 
      arr.setdefault(ip,1) 
f.close() 
for key in arr: 
  print key+"->"+str(arr[key])

日志格式为:

#111.172.249.84 - - [12/Dec/2011:05:33:36 +0800] "GET /images/i/goTop.png HTTP/1.0" 200 486 "http://wh.xxxx.com/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)" 
#111.172.249.84 - - [12/Dec/2011:05:33:36 +0800] "GET /images/i/goTop.png HTTP/1.0" 200 486 "http://wh.xxxx.com/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)" 
#111.172.249.85 - - [12/Dec/2011:05:33:36 +0800] "GET /images/i/goTop.png HTTP/1.0" 200 486 "http://wh.xxxx.com/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)" 
#111.172.249.86 - - [12/Dec/2011:05:33:36 +0800] "GET /images/i/goTop.png HTTP/1.0" 200 486 "http://wh.xxxx.com/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)"

输出结果:

111.172.249.86->1
111.172.249.84->2
111.172.249.85->1

注释:python字段的setdefault用法为获取信息,如果获取不到的时候就按照他的参数设置该值

>>> a={} 
>>> a['key']='123' 
>>> print (a) 
{'key': '123'} 
>>> print (a.setdefault('key','456'))
#显示a这个字典的'key'值的内容,因为字典有,所以不会去设置它 
123 
>>> print (a.setdefault('key1','456'))
#显示a这个字典的'key1'值的内容,因为字典没有,所以设置为456了 
456 
>>> a 
{'key1': '456', 'key': '123'}

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
举例讲解Python中metaclass元类的创建与使用
Jun 30 Python
python制作爬虫爬取京东商品评论教程
Dec 16 Python
python使用matplotlib绘制柱状图教程
Feb 08 Python
python 通过logging写入日志到文件和控制台的实例
Apr 28 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
Oct 11 Python
用python3教你任意Html主内容提取功能
Nov 05 Python
python实现连续图文识别
Dec 18 Python
Python多线程及其基本使用方法实例分析
Oct 29 Python
Xadmin+rules实现多选行权限方式(级联效果)
Apr 07 Python
pyinstaller打包找不到文件的问题解决
Apr 15 Python
python网络编程之五子棋游戏
May 14 Python
Python何绘制带有背景色块的折线图
Apr 23 Python
python检查指定文件是否存在的方法
Jul 06 #Python
python转换字符串为摩尔斯电码的方法
Jul 06 #Python
python实现文件路径和url相互转换的方法
Jul 06 #Python
详解Python中的Cookie模块使用
Jul 06 #Python
python计算文本文件行数的方法
Jul 06 #Python
python实现ping的方法
Jul 06 #Python
python删除指定类型(或非指定)的文件实例详解
Jul 06 #Python
You might like
php上传、管理照片示例
2006/10/09 PHP
PHP实现的随机红包算法示例
2017/08/14 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
jquery 最简单易用的表单验证插件
2010/02/27 Javascript
JavaScript控制Session操作方法
2013/01/17 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
jQuery鼠标事件汇总
2015/08/30 Javascript
vue中渐进过渡效果实现
2016/10/27 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
Vue使用mixins实现压缩图片代码
2018/03/14 Javascript
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
linux下安装easy_install的方法
2013/02/10 Python
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
python 接口_从协议到抽象基类详解
2017/08/24 Python
基于python 处理中文路径的终极解决方法
2018/04/12 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
2018/08/22 Python
python使用插值法画出平滑曲线
2018/12/15 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
python实现删除列表中某个元素的3种方法
2020/01/15 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
2020/03/09 Python
Python之多进程与多线程的使用
2021/02/23 Python
纯DOM+CSS3实现简单的小风车动画
2016/09/27 HTML / CSS
Parfumdreams英国:香水和化妆品
2019/05/10 全球购物
大学本科生的个人自我评价
2013/12/09 职场文书
公司捐款倡议书
2014/05/14 职场文书
视光学专业自荐信
2014/06/24 职场文书
新店开张宣传语
2015/07/13 职场文书
2019财务管理制度最新范本!
2019/07/09 职场文书
Python学习开发之图形用户界面详解
2021/08/23 Python