全国统一咨询热线:18925199527

新闻中心

新闻中心News Center

联系方式

联系方式Contact infoemation

电话:18925199527

邮箱:2880061754@qq.com

地址:广州市天河区林和西横路219号

当前位置:网站首页 > 行业新闻 > 网站日志分析

网站日志分析

文章出处:http://www.dddjz.com/a/630.html 阅读量:7 发表时间:07-19 15:11
行业新闻

  大家都知道,查看网站日志是了解蜘蛛的唯一途径,现在网上也有很多的工具可以辅助我们进行日志的分析,但令人失望的是,大部分好用的工具都是收费的,做站长的整日辛辛苦苦的赚点钱也不容易,哪有闲钱去买这些东西,无奈只能用免费的了,而免费的东西不是功能单一、操作上有限制,就是工具太大、耗费系统资源太多。

  面对这种情况,我们要怎么才能对网站的日志进行透彻的分析呢?总不能一行一行的来读吧!或者自己动手开发一个怎么样?你也认为这个注意好,是吧!那就让我们自己动手来开发一款可以一键分析蜘蛛行为的、史上最强网站日志分析器。

  我们先来看一段网站日志代码:

  220.181.7.104 - - [20/Oct/2010:06:00:06 +0800] "GET /robots.txt HTTP/1.1" 200 767 "-" "Baiduspider+(+http://www.dguo.cn/search/spider.htm)"

  开发之前,我们来想一想,我们都需要哪些功能?如果我们以百度蜘蛛为例,我们无非是想知道:

  1、百度蜘蛛一天来我们的网站的次数(因为我们都希望越多越好)。

  2、百度蜘蛛都是什么时间来的?(知道这个就可以在百度蜘蛛来的时候更新文章,这样可以增加收录数量,减少

  收录时间)

  3、百度蜘蛛都抓取了哪些页面?相应的http状态码是多少?(根据状态码我们可以判断网站被抓取的情况)

  通过分析,我们可以确定开发的目标了,我们要统计蜘蛛爬取次数、爬取时间、爬取的页面和相应的状态码。

  下面我们以这一小段测试日志代码为例:

  220.181.7.104 - - [20/Oct/2010:06:00:06 +0800] "GET /robots.txt HTTP/1.1" 200 767 "-" "Baiduspider+(+http://www.dguo.cn/search/spider.htm)"

  66.249.69.244 - - [20/Oct/2010:06:03:23 +0800] "GET /hao123/category/1/%E6%B7%B1%E5%9C%B3%E5%8C%97%E5%A4%A7%E9%9D%92%E9%B8%9F%E6%A0%A1%E5%8C%BA.html HTTP/1.1" 200 56114 "-" "Mozilla/5.0             (compatible; Googlebot/2.1; +http://www.dguo.cn/bot.html)"

  我这里采用的方法是运用批处理的方式,提取出日志文件中所有的百度蜘蛛所在的行,输出到指定的文件中,然后在统计出时间、次数、爬取的页面和http状态码。具体代码如下:

  @echo off

  for /r %%i in (*.log) do find /i "Baiduspider" %%i > baidu.txt

  rem 查找目录下的log文件中的“Baiduspider”所在的行,并将其写入到baidu.txt文件

  for /f "tokens=4" %%y in (baidu.txt) do @echo %%y >> zhizhu.txt

  rem 以空格为分隔符,提取baidu.txt文件中每行的第四段,并将其写入到zhizhu.txt文件(第四段就是蜘蛛爬取的时间)

  for /f "tokens=1 delims=:" %%i in ('findstr /n .* zhizhu.txt') do set num=%%i

  rem 统计蜘蛛爬取的次数

  echo ------------------------------------------------------------------ >> zhizhu.txt

  rem 输出分割线---------------

  echo 百度蜘蛛共来过%num%次,根据蜘蛛来的时间规律发布文章,可以增加收录哦!>> zhizhu.txt

  rem 输出文字

  echo ------------------------------------------------------------------ >> zhizhu.txt

  rem 输出分割线----------

  echo 接下来再看看百度蜘蛛抓取了哪些页面吧! >> zhizhu.txt

  rem 输出文字

  echo ------------------------------------------------------------------ >> zhizhu.txt

  rem 输出分割线----------

  for /f "skip=1 tokens=6,7,9,10" %%a in (baidu.txt) do @echo %%a %%b %%c %%d >> zhizhu.txt

  rem 以空格为分隔符,提取baidu.txt文件中每行的第6、7、9、10段,并将其写入到zhizhu.txt文件(第6、7、9、10段就是蜘蛛爬取的页面和相应的http状态码)

  echo %date% > time.txt

  rem 提取系统日期,写入到time.txt文件

  for /f "tokens=1" %%e in (time.txt) do ren zhizhu.txt %%e-百度蜘蛛统计.txt

  rem 将zhizhu.txt文件更名为“系统时间-百度蜘蛛统计.txt”为名的文件,方便存档

  del /f /q baidu.txt

  rem 删除临时文件baidu.txt

  del /f /q time.txt

  rem 删除临时文件time.txt

  使用方法非常的简单,将上面的代码复制、粘贴到文本文件中,将文本文件另存为后缀名为.bat的批处理文件,然后将你要进行分析的网站日志文件和批处理文件放到同一个目录下,双击批处理文件,稍等一会,在目录下会生成一个“系统时间-百度蜘蛛统计.txt”的文件,这个文件放的就是所有的统计结果。


相关资讯

More+

全国咨询热线:18925199527

二维码

地址:广州市天河区林和西横路219号

版权所有 © 1999-2017 Copyright © 1999-2017 All Rights Reserved

cache
Processed in 0.013718 Second.