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之复习if语句
Oct 02 Python
初步解析Python中的yield函数的用法
Apr 03 Python
python实现简单淘宝秒杀功能
May 03 Python
Python简单读写Xls格式文档的方法示例
Aug 17 Python
Python实现二叉树的常见遍历操作总结【7种方法】
Mar 06 Python
Python continue语句实例用法
Feb 06 Python
Pycharm 安装 idea VIM插件的图文教程详解
Feb 21 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
Apr 16 Python
Python tkinter界面实现历史天气查询的示例代码
Aug 23 Python
Python 删除List元素的三种方法remove、pop、del
Nov 16 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
Feb 18 Python
python not运算符的实例用法
Jun 30 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中feof()函数实例测试
2014/08/23 PHP
Yii2框架dropDownList下拉菜单用法实例分析
2016/07/18 PHP
javascript dom 基本操作小结
2010/04/11 Javascript
基于JQuery的简单实现折叠菜单代码
2010/09/15 Javascript
javascript一个无懈可击的实例化XMLHttpRequest的方法
2010/10/13 Javascript
DOM_window对象属性之--clipboardData对象操作代码
2011/02/03 Javascript
JS代码优化技巧之通俗版(减少js体积)
2011/12/23 Javascript
document.documentElement的一些使用技巧
2013/04/18 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
整理AngularJS框架使用过程当中的一些性能优化要点
2016/03/05 Javascript
AngularJS中的过滤器filter用法完全解析
2016/04/22 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
2016/06/20 Javascript
浅析script标签中的defer与async属性
2016/11/30 Javascript
Node.js中 __dirname 的使用介绍
2017/06/19 Javascript
探索webpack模块及webpack3新特性
2017/09/18 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
Bootstrap实现的表格合并单元格示例
2018/02/06 Javascript
详解React中setState回调函数
2018/06/14 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
2019/08/01 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
JavaScript 中的六种循环方法
2021/01/06 Javascript
python解析xml文件实例分析
2015/05/27 Python
python获取命令行输入参数列表的实例代码
2018/06/23 Python
Python装饰器模式定义与用法分析
2018/08/06 Python
html5新增的属性和废除的属性简要概述
2013/02/20 HTML / CSS
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
Hotels.com日本:国外和海外住宿,酒店预订
2019/12/13 全球购物
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
劳动竞赛活动方案
2014/02/20 职场文书
幼儿园中班上学期评语
2014/04/18 职场文书
文明美德伴我成长演讲稿
2014/05/12 职场文书
女方离婚起诉书
2015/05/18 职场文书
Python中 range | np.arange | np.linspace三者的区别
2022/03/22 Python
一文搞懂Java中的注解和反射
2022/06/21 Java/Android