成都网站建设

拥有10年以上经验丰富的网站制作团队,具备科学的建站流程和快速的客户服务体系(诺贝尔妈妈网gzyhdz)

成都网站建设专家

整合营销专家

最短时间、最快速度、最简操作、最低投入提高品牌展示率

成都整合营销专家

网站优化推广

搜索引擎优化,百度自然排名第一,真正实现点击不收费!

成都网站优化推广

主机域名

冠辰中国独家采用独立IP,减少IP被封机率;利于优化排名

独立IP主机
您当前位置:成都网站建设 >> 新闻频道 >> 常见问题FAQ >> 浏览文章

关于shell命令的问题


时间:2014年07月02日 点击量:

想从网站日志中提取出,用户的访问记录,不要搜索引擎的,命令怎么写呢。

 

使用python即可完美提取
这是一般Apache的 Log 内容:
192.168.1.1 - - [20/Nov/2011:01:10:35 +0100] "GET /feed.atom HTTP/1.0" 200 259653
192.168.1.2 - - [20/Nov/2011:01:10:49 +0100] "GET /feed.atom HTTP/1.1" 304 153
192.168.1.3 - - [20/Nov/2011:01:10:50 +0100] "GET /2008/1/23/no HTTP/1.0" 404 472
192.168.1.4 - - [20/Nov/2011:01:10:50 +0100] "GET /feed.atom?_qt=data HTTP/1.1"
先调出Log文件

with open('/var/log/apache2/access.log') as f:
for line in f:


然后提取用户访问记录

import re
from collections import defaultdict
from heapq import nlargest

with open('log.txt') as f:
count = defaultdict(int)
for line in f:
    match = re.search(r' "\w+ (.*?) HTTP/', line)
    if match is None:
        continue
    uri = match.group(1).split('?')[0]
    count[uri] = count[uri] + 1

most_common = nlargest(5, count.items(), key=lambda x: x[1])
print most_common

文章由四川冠辰成都网站建设http://www.scgckj.com/9741.html编辑整理,转载请注明出处
相关阅读:
联系我们
  • 业务咨询:18782121200
  • 业务咨询:18080432432
  • 服务热线:028-86088588
  • 服务热线:028-62322623-0
  • 免费热线:400-000-2367
  • 传 真:028-62322623-823
网站首页| 关于我们| 热门关键词| 付款方式| 资质证书| 联系我们
版权所有 Copyright © 2002-2013 四川冠辰科技开发有限公司www.scgckj.com 保留所有权利 蜀ICP备11012605号
地址:四川省成都市金丰路6号量力大厦B座2010室 冠辰科技资质证书
服务热线:400-000-2367 028-86088588 总机:028-62322623-0 传真:028-62322623-823