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 相关文章推荐
python函数返回多个值的示例方法
Dec 04 Python
Python函数中定义参数的四种方式
Nov 30 Python
介绍Python中几个常用的类方法
Apr 08 Python
python fabric实现远程部署
Jan 05 Python
Python实现的朴素贝叶斯分类器示例
Jan 06 Python
Django框架的使用教程路由请求响应的方法
Jul 03 Python
int在python中的含义以及用法
Jun 27 Python
为什么从Python 3.6开始字典有序并效率更高
Jul 15 Python
使用coverage统计python web项目代码覆盖率的方法详解
Aug 05 Python
Python turtle库绘制菱形的3种方式小结
Nov 23 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
Jul 14 Python
Matplotlib配色之Colormap详解
Jan 05 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
收音机发烧友应当熟知的100条知识
2021/03/02 无线电
轻松入门: 煮好咖啡的七个诀窍
2021/03/03 冲泡冲煮
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
php生成curl命令行的方法
2015/12/14 PHP
php 运算符与表达式详细介绍
2016/11/30 PHP
js实现的map方法示例代码
2014/01/13 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
jQuery验证插件validation使用指南
2015/04/21 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
2017/01/17 Javascript
使用jQuery卸载全部事件的思路详解
2017/04/03 jQuery
jquery中done和then的区别(详解)
2017/12/19 jQuery
微信小程序实现选项卡效果
2018/11/06 Javascript
nodejs中各种加密算法的实现详解
2019/07/11 NodeJs
[59:32]Liquid vs Fnatic 2019国际邀请赛淘汰赛败者组BO1 8.20.mp4
2020/07/19 DOTA
Python网站验证码识别
2016/01/25 Python
matplotlib 纵坐标轴显示数据值的实例
2018/05/25 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
手把手教你安装Windows版本的Tensorflow
2020/03/26 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
Python3开发环境搭建详细教程
2020/06/18 Python
哪种Python框架适合你?简单介绍几种主流Python框架
2020/08/04 Python
降低python版本的操作方法
2020/09/11 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
Alexandre Birman美国官网:亚历山大·伯曼
2019/10/30 全球购物
餐饮总经理岗位职责
2014/03/07 职场文书
工厂采购员岗位职责
2014/04/08 职场文书
演讲比赛策划方案
2014/06/11 职场文书
个人四风问题整改措施
2014/10/24 职场文书
文员岗位职责范本
2015/04/16 职场文书
初中同学会致辞
2015/08/01 职场文书
教师反邪教心得体会
2016/01/15 职场文书
Win11应用商店打开闪退怎么解决? win11应用商店打不开的多种解决办法
2022/04/05 数码科技