<rp id="b2z4o"><ruby id="b2z4o"></ruby></rp>

<li id="b2z4o"><object id="b2z4o"></object></li>
<s id="b2z4o"><object id="b2z4o"></object></s>
<th id="b2z4o"><track id="b2z4o"></track></th>
    1. 十年风雨路 · 一心铸精品

      接一个官网 留一件精品 做一个项目 树一块样板

      关于shell命令的问题

      想从网站日志中提取出,用户的访问记录,不要搜索引擎的,命令怎么写呢。使用python即可完美提取这是一般Apache的Log内容:192.168.1.1--[20/Nov/2011:01:10:35+0100]"GET/feed.atomHTTP/1.0"200259653192.168.1.2--[20/Nov/2011:01:10:49+0100]"GET/feed.atomHTTP/1.1"3041

      时间: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

      推荐案例

      • 成都森美啦园林绿化工程公

      • 四川尚恒科技有限公司

      • 成都九邦物流有限责任公司

      • 四川品睿餐饮管理有限公司

      • 美绘陶社陶艺手绘工作室-暖

      • 成都恩多施生物工程技术有

      • 汶川羌人土特产有限公司

      • 印刷设计公司网站No.3138

      联系我们 / CONTACT US

      • 四川省成都市金牛区五福桥东路229号龙湖北城天街28栋903室
      • 服务热线:400-000-2367 028-86088588
      • 总机:028-62322623-0
      • 传真:028-62322623-823

      扫码访问冠辰手机网站

      版权所有 Copyright © 2002-2019 四川冠辰科技开发有限公司  www.habitususa.com 保留所有权利  蜀ICP备11012605号

      地址:四川省成都市金牛区五福桥东路229号龙湖北城天街28栋903室

      服务热线:400-000-2367 028-86088588 总机:028-62322623-0 传真:028-62322623-823

      极准特马一肖