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中for循环的使用方法
May 14 Python
在Python操作时间和日期之asctime()方法的使用
May 22 Python
Python实现连接postgresql数据库的方法分析
Dec 27 Python
详解python中的Turtle函数库
Nov 19 Python
对Python中创建进程的两种方式以及进程池详解
Jan 14 Python
Django中celery执行任务结果的保存方法
Jul 12 Python
使用Filter过滤python中的日志输出的实现方法
Jul 17 Python
python 读取数据库并绘图的实例
Dec 03 Python
django多种支付、并发订单处理实例代码
Dec 13 Python
python实现ip地址的包含关系判断
Feb 07 Python
Pytorch中.new()的作用详解
Feb 18 Python
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 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
实用函数10
2007/11/08 PHP
php 带逗号千位符数字的处理方法
2012/01/10 PHP
PHP中怎样防止SQL注入分析
2014/10/23 PHP
PHP 断点续传实例详解
2017/11/11 PHP
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
2013/06/27 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
jquery实现点击查看更多内容控制段落文字展开折叠效果
2015/08/06 Javascript
jQuery on()方法示例及jquery on()方法的优点
2015/08/27 Javascript
javascript实现加载xml文件的方法
2015/11/24 Javascript
jQueryUI Datepicker组件设置日期高亮
2016/10/13 Javascript
修改ligerui 默认确认按钮的方法
2016/12/27 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
Vue 实现从小到大的横向滑动效果详解
2019/10/16 Javascript
layui实现数据表格自定义数据项
2019/10/26 Javascript
jQuery实现简易QQ聊天框
2020/02/10 jQuery
django2 快速安装指南分享
2018/01/05 Python
python 获取图片分辨率的方法
2019/01/08 Python
Python处理时间日期坐标轴过程详解
2019/06/25 Python
Python pandas 列转行操作详解(类似hive中explode方法)
2020/05/18 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
详解Pymongo常用查询方法总结
2021/01/29 Python
YesStyle美国/全球:购买亚洲时装、美容化妆品和生活百货
2017/01/16 全球购物
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
Topshop美国官网:英国快速时尚品牌
2019/05/16 全球购物
毕业生个人投资创业计划书
2014/01/04 职场文书
村优秀党员事迹材料
2014/01/15 职场文书
技术总监管理职责范本
2014/03/06 职场文书
第二课堂活动总结
2014/05/07 职场文书
应届毕业生求职信
2014/05/26 职场文书
父亲节活动总结
2015/02/12 职场文书
2015年汽车销售经理工作总结
2015/04/27 职场文书
赵氏孤儿观后感
2015/06/09 职场文书
SQL实现LeetCode(178.分数排行)
2021/08/04 MySQL
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫