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字符串转换成浮点数函数分享
Jul 24 Python
分享python数据统计的一些小技巧
Jul 21 Python
python cx_Oracle的基础使用方法(连接和增删改查)
Nov 19 Python
pyqt5的QWebEngineView 使用模板的方法
Aug 18 Python
Python实战购物车项目的实现参考
Feb 20 Python
使用Python的SymPy库解决数学运算问题的方法
Mar 27 Python
elasticsearch python 查询的两种方法
Aug 04 Python
Python实现语音识别和语音合成功能
Sep 20 Python
浅谈对pytroch中torch.autograd.backward的思考
Dec 27 Python
Python @property原理解析和用法实例
Feb 11 Python
如何利用Python识别图片中的文字
May 31 Python
python3.7.2 tkinter entry框限定输入数字的操作
May 22 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
C# Assembly类访问程序集信息
2009/06/13 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
PHP实现的简单缓存类
2015/07/29 PHP
Discuz!X中SESSION机制实例详解
2015/09/23 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
2015/12/24 PHP
PHP基于自增数据如何生成不重复的随机数示例
2017/05/19 PHP
JavaScript 在线压缩和格式化收藏
2009/01/16 Javascript
javascript获取dom的下一个节点方法
2014/09/05 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
javascript封装 Cookie 应用接口
2015/08/07 Javascript
JavaScript对HTML DOM使用EventListener进行操作
2015/10/21 Javascript
js命名空间写法示例
2015/12/18 Javascript
使用JavaScript实现在页面中显示距离2017年中秋节的天数
2017/09/26 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
JS基础之逻辑结构与循环操作示例
2020/01/19 Javascript
OpenLayers3实现地图显示功能
2020/09/25 Javascript
js canvas实现俄罗斯方块
2020/10/11 Javascript
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
python fabric使用笔记
2015/05/09 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
Python requests.post方法中data与json参数区别详解
2020/04/30 Python
详解python 内存优化
2020/08/17 Python
Farfetch中文官网:奢侈品牌时尚购物平台
2020/03/15 全球购物
生物制药毕业生自荐信
2013/10/16 职场文书
毕业生就业推荐信范文
2013/12/01 职场文书
环卫工作汇报材料
2014/10/28 职场文书
秦兵马俑导游词
2015/02/02 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
先进工作者主要事迹材料
2015/11/03 职场文书
高二语文教学反思
2016/02/16 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript