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实现的一只从百度开始不断搜索的小爬虫
Aug 13 Python
Python中动态获取对象的属性和方法的教程
Apr 09 Python
浅谈python numpy中nonzero()的用法
Apr 02 Python
Python爬虫包BeautifulSoup学习实例(五)
Jun 17 Python
10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)
Oct 11 Python
对Xpath 获取子标签下所有文本的方法详解
Jan 02 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
Jan 15 Python
python如何给字典的键对应的值为字典项的字典赋值
Jul 05 Python
python 字符串追加实例
Jul 20 Python
浅谈pycharm使用及设置方法
Sep 09 Python
python如何获取apk的packagename和activity
Jan 10 Python
python实现视频压缩功能
Dec 18 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入门源程序
2006/10/09 PHP
php实现高效获取图片尺寸的方法
2014/12/12 PHP
PHP编写RESTful接口
2016/02/23 PHP
PHP registerXPathNamespace()函数讲解
2019/02/03 PHP
Javascript 二维数组
2009/11/26 Javascript
JavaScript 用cloneNode方法克隆节点的代码
2012/10/15 Javascript
JS.findElementById()使用介绍
2013/09/21 Javascript
jQuery中noConflict()用法实例分析
2015/02/08 Javascript
js实现鼠标触发图片抖动效果的方法
2015/02/27 Javascript
jQuery动画效果图片轮播特效
2016/01/12 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
JavaScript必知必会(二) null 和undefined
2016/06/08 Javascript
SelecT下拉框选中和取值的解决方法
2016/11/22 Javascript
详解react-router如何实现按需加载
2017/06/15 Javascript
JavaScript中如何判断一个值的类型
2017/09/15 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
2018/05/10 Javascript
Vue环境搭建+VSCode+Win10的详细教程
2020/08/19 Javascript
ant design pro中可控的筛选和排序实例
2020/11/17 Javascript
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
centos6.7安装python2.7.11的具体方法
2017/01/16 Python
Python爬虫实现全国失信被执行人名单查询功能示例
2018/05/03 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
在pycharm 中添加运行参数的操作方法
2019/01/19 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
2019/04/29 Python
Python OpenCV调用摄像头检测人脸并截图
2020/08/20 Python
Python爬虫:url中带字典列表参数的编码转换方法
2019/08/21 Python
python用什么编辑器进行项目开发
2020/06/17 Python
百丽国际旗下购物网站:优购
2017/02/28 全球购物
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
Nordgreen台湾官网:极简北欧设计手表
2019/08/21 全球购物
生物制药专业自我鉴定
2014/02/19 职场文书
会务接待方案
2014/02/27 职场文书
网管求职信
2014/03/03 职场文书
外贸专业求职信
2014/03/09 职场文书
建筑安全员岗位职责
2014/03/13 职场文书
财务部副经理岗位职责范本
2014/06/17 职场文书