python实现apahce网站日志分析示例


Posted in Python onApril 02, 2014

维护脚本一例,写得有点乱,只是作为一个实例,演示如何快速利用工具快速达到目的:
应用到:shell与python数据交互、数据抓取,编码转换

#coding:utf-8
#!/usr/bin/python
'''
程序说明:apache access.log日志分析
 分析访问网站IP 来源情况
 日期:2014-01-06 17:01
 author:gyh9711 程序说明:应用到:shell与python数据交互、数据抓取,编码转换
'''
import os
import json
import httplib
import codecs

LogFile='/var/log/apache2/access.log'
#日志
logMess='/tmp/acc.log'
if os.path.isfile(logMess):
 os.system('cp /dev/null %s'% logMess)
file=codecs.open(logMess,'w+',encoding='utf-8')
def cmd(cmd):
  return os.popen(cmd).readlines()
'''
def getIp(ip):
 return json.loads(os.popen("/usr/bin/curl http://ip.taobao.com/service/getIpInfo.php?ip=%s" % ip).readline())['data']
'''
conn = httplib.HTTPConnection('ip.taobao.com')
def getIpCountry(ip):
 conn.request('GET','/service/getIpInfo.php?ip=%s' % ip)
 r1=conn.getresponse()
 if r1.status == 200:
  return json.loads(r1.read())['data']
 else:
  return "Error"
#将access.log文件进行分析,并转为python数组
file.write(u"字段说明:ip   访问次数据  ip国家 城市的 isp号  省份  所在地区\n")
ipDb=[]
for i in cmd('''/usr/bin/awk '{print $1}' %s |sort |uniq -c''' % LogFile):
 ip = i.strip().split(' ')
 ipDb.append(ip)
#通过taobao 提供接口分析ip地址来源
for i in ipDb:
 _tmpD=getIpCountry(i[1])
 #格式说明:ip   访问次数据  ip国家 城市的 isp号  省份  所在地区
 out="%s%s%s%s%s%s%s"%(i[1].ljust(20),i[0].ljust(10),_tmpD['country'].ljust(20),_tmpD['city'].ljust(16),_tmpD['isp_id'].ljust(16),_tmpD['region'].ljust(16),_tmpD['area'].ljust(16))
 print out
 file.write("%s\n"%out)
conn.close()
file.close()
'''
'''
Python 相关文章推荐
使用beaker让Facebook的Bottle框架支持session功能
Apr 23 Python
Python中条件判断语句的简单使用方法
Aug 21 Python
Django中间件工作流程及写法实例代码
Feb 06 Python
Python3.6实现连接mysql或mariadb的方法分析
May 18 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
May 19 Python
Scrapy使用的基本流程与实例讲解
Oct 21 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
Jan 23 Python
python实现矩阵打印
Mar 02 Python
简单了解python元组tuple相关原理
Dec 02 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
May 07 Python
Java如何基于wsimport调用wcf接口
Jun 17 Python
宝塔更新Python及Flask项目的部署
Apr 11 Python
python实现数通设备端口监控示例
Apr 02 #Python
使用python解析xml成对应的html示例分享
Apr 02 #Python
Python爬虫框架Scrapy安装使用步骤
Apr 01 #Python
使用python绘制人人网好友关系图示例
Apr 01 #Python
python异步任务队列示例
Apr 01 #Python
用Python编程实现语音控制电脑
Apr 01 #Python
35个Python编程小技巧
Apr 01 #Python
You might like
PHP中extract()函数的妙用分析
2012/07/11 PHP
php中的Base62类(适用于数值转字符串)
2013/08/12 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
php之可变函数的实例详解
2017/09/13 PHP
简单的前端js+ajax 购物车框架(入门篇)
2011/10/29 Javascript
js 回车提交表单两种实现方法
2012/12/31 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
怎么清空javascript数组
2013/05/11 Javascript
Jquery给基本控件的取值、赋值示例
2014/05/23 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
js创建对象的方法汇总
2016/01/07 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
js 图片转base64的方式(两种)
2018/04/24 Javascript
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
读懂CommonJS的模块加载
2019/04/19 Javascript
JavaScript实现密码强度实时验证
2020/03/18 Javascript
JavaScript canvas实现文字时钟
2021/01/10 Javascript
跟老齐学Python之??碌某?? target=
2014/09/12 Python
Python出现segfault错误解决方法
2016/04/16 Python
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
python的pandas工具包,保存.csv文件时不要表头的实例
2018/06/14 Python
NumPy中的维度Axis详解
2019/11/26 Python
Python进程的通信Queue、Pipe实例分析
2020/03/30 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
css3实现超炫风车特效
2014/11/12 HTML / CSS
Html5插件教程之添加浏览器放大镜效果的商品橱窗
2016/01/07 HTML / CSS
计算机专业毕业生推荐信
2013/11/25 职场文书
党风廉政承诺书
2014/03/27 职场文书
教师考察材料范文
2014/06/03 职场文书
运动会3000米加油稿
2015/07/21 职场文书
2019大学生社会实践报告汇总
2019/08/16 职场文书
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server
使用Canvas绘制一个游戏人物属性图
2022/03/25 Javascript