百独托管7500 紫田网络超高转化播放器收cps[推荐]速盾CDN 免实名免备防屏蔽阿里云 爆款特卖9.9元封顶提升alexa、IP流量7Q5团队
【腾讯云】中小企福利专场【腾讯云】多款产品1折起高防 随时退换 好耶数据小飞国外网赚带你月入万元炎黄网络4H4G10M 99每月
香港带宽CN2/美国站群优惠中客数据中心 服务器租用联盟系统移动广告平台 中易企业专场腾讯云服务器2.5折九九数据 工信部正规资质
腾讯云新用户大礼包代金券高价收cpa注册量高价展示【腾讯云】2核2G/9.93起租服务器找45互联 随时退换阿里云 短信服务 验证秒达

[官方推荐] iis日志分析程序 (原创) [复制链接]
查看:6420 | 回复:39

327

主题

2万

帖子

6871

积分

落伍者(三羊开泰)

被小瑜改了

Rank: 3Rank: 3

贡献
3793
鲜花
113
注册时间
2008-12-31
发表于 2009-4-18 21:45:37 | |阅读模式 来自 中国北京
再到经典区发一遍,增加精华几率


花了半个下午+半个晚上写的,希望能给个精华,就奔着精华来的
上次木木发了一个用iis日志获取蜘蛛记录,但是对于一般的虚拟主机用户,自己是无法操作iis的,IDC提供的日志文件常常不会有Baiduspider标记,这个程序就是用于分析iis日志文件(网上虽然有一些程序,但不知道怎么回事总是测试不成功 ),该程序可以获取访问ip总数、搜索引擎抓取数量估计等信息。
程序功能虽然简单,但是感觉比较实用。存在的问题源码里面写了,有兴趣的朋友可以继续研究,欢迎交流讨论。

程序用的是php语言,asp空间就不要测试了。
程序后的界面是这样的
  1. <?php
  2. /*******************************************************
  3. *功能:iis日志分析,分析出访问IP总数,搜索引擎抓取次数
  4. *说明:
  5. *       将日志文件放在网站根目录,并改名为log.log。
  6. *演示:http://www.zhanzhangpu.com/tools/iislog/
  7. *       http://www.zhanzhangpu.com/tools/iislog/demo.gif
  8. *作者:blackli,来自落伍者
  9. *问题:搜索引擎蜘蛛地址不准确,尤其是google蜘蛛地址,国内流行的地址列
  10. *       表存在相当大的误差,能力有限,不能够解决这个问题。有兴趣的可以参考
  11. *       下面的网址.
  12. *参考:http://www.seonewthing.com/googleBotCheck.aspx
  13. *       http://googlewebmastercentral.blogspot.com/2006/09/how-to-verify-googlebot.html
  14. *******************************************************/

  15.         //打开日志文件
  16.         $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
  17.         $fp = fopen("$DOCUMENT_ROOT/log.log",'rb');
  18.         if ( !$fp )
  19.         {
  20.                 echo '打开文件失败';
  21.                 exit;
  22.         }

  23.         //分析每行日志
  24.         $num_ip = 0;    //访问IP总数
  25.         $ip = array();    //IP数据数组,其中ip[$i][0]为IP地址、ip[$i][1]为该地址出现次数
  26.         while ( !feof($fp) )
  27.         {
  28.                 $line = fgets($fp,1001);
  29.                 if ( substr($line,0,1) == '#' )
  30.                 {
  31.                         //获取日志生成时间
  32.                         if ( substr($line,0,5) == '#Date' )
  33.                         {
  34.                                 $date_info = explode(' ',$line);
  35.                                 //echo '日志生成时间:'.$date_info[1].'  '.$date_info[2].'</br>';
  36.                         }
  37.                 }
  38.                 else
  39.                 {
  40.                         //获取访问IP
  41.                         if ( $line == '' ) continue;
  42.                         $ip_info = explode(' ',$line);

  43.                         for ( $j = $num_ip-1, $having_ip = false; $j >= 0 ; $j -- )
  44.                         {
  45.                                 if ( $ip[$j][0] == $ip_info[6] )
  46.                                 {
  47.                                         $having_ip = true;
  48.                                         $ip[$j][1] ++ ;
  49.                                         break;
  50.                                 }
  51.                         }
  52.                         if ( $having_ip == false )
  53.                         {
  54.                                 $ip[$num_ip][0] = $ip_info[6];
  55.                                 $ip[$num_ip][1] = 1;
  56.                                 $num_ip ++;
  57.                         }
  58.                 }
  59.         }

  60.         //获取搜索引擎蜘蛛访问次数
  61.         //baidu、google蜘蛛地址列表
  62.         $baiduSpider = array('220.181','159.226','202.108','61.135.');
  63.         $googleBot = array('74.125.','209.85.','66.102.','64.233.','64.249','209.85.');

  64.         $num_Spider = $num_googleBot = 0;
  65.         for ( $i = 0; $i < $num_ip ; $i++ )
  66.         {
  67.                 //计算百度蜘蛛访问次数
  68.                 for ( $j = 0 ; $j < 4 ; $j ++ )
  69.                 {

  70.                         if ( substr($ip[$i][0],0,7) == $baiduSpider[$j] )
  71.                         {
  72.                                 $num_Spider += $ip[$i][1];
  73.                                 continue;
  74.                         }
  75.                 }
  76.                 //计算google蜘蛛访问次数
  77.                 for ( $j = 0 ; $j < 6 ; $j ++ )
  78.                 {
  79.                         if ( substr($ip[$i][0],0,7) == $googleBot[$j] )
  80.                         {
  81.                                 $num_googleBot += $ip[$i][1];
  82.                                 continue;
  83.                         }
  84.                 }
  85.         }

  86.         //echo '百度蜘蛛请求'.$num_Spider.'次<br/>';
  87.         //echo 'google蜘蛛请求'.$num_googleBot.'次<br/>';
  88.         fclose($fp);
  89. ?>
  90. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  91. <html xmlns="http://www.w3.org/1999/xhtml">
  92. <head>
  93. <title>iis日志分析-Powered by ZhanZhangPu</title>
  94. <style type="text/css">
  95. #main{
  96.         width:800px;
  97.         margin:0 auto;
  98.         border:1px solid #EEE;
  99. }
  100. #main div{
  101.         background:#EEE;
  102.         border:2px solid #FBFBFB;
  103.         line-height:25px;
  104.         font-size:15px;
  105.         padding:15px;
  106. }
  107. </style>
  108. </head>
  109. <body>
  110. <div id="main">
  111.         <h2>日志生成时间<?php echo $date_info[1].'  '.$date_info[2]; ?></h2>
  112.         <div>
  113.                 共有<?php echo $num_ip; ?>IP的请求.<br/>
  114.                 百度蜘蛛请求<?php echo $num_Spider; ?>次.<br/>
  115.                 google蜘蛛请求<?php echo $num_googleBot; ?>次.
  116.         </div>
  117.         <div>
  118.                 IP地址列表:<br/>
  119.                 <?php
  120.                         for ( $i = 0 ; $i < $num_ip ; $i ++ )
  121.                         {
  122.                                 echo $ip[$i][0].'     '.$ip[$i][1].'次.<br/>';
  123.                         }
  124.                 ?>
  125.         </div>
  126.         <div>Powered by <a href="http://www.zhanzhangpu.com">站长铺</a>&trade;</div>
  127. </div>
  128. </body>
  129. </html>
复制代码
这个压缩包里面有源程序和一个测试文件,欢迎试用,才疏学浅,有问题欢迎提出来

22

主题

4749

帖子

6045

积分

落伍者(三羊开泰)

楼上的mjj

Rank: 3Rank: 3

贡献
1235
鲜花
3
注册时间
2005-8-18
发表于 2009-4-18 22:38:51 | 来自 中国广东东莞
顶顶楼主

597

主题

1813

帖子

2879

积分

落伍者(两全齐美)

第一视频

Rank: 2

贡献
2591
鲜花
30
注册时间
2008-6-20
发表于 2009-4-23 09:51:43 | 来自 中国浙江温州
很实用 很强大

69

主题

1万

帖子

965

积分

落伍者(一心一意)

卖身不卖艺

Rank: 1

贡献
2741
鲜花
30
注册时间
2004-12-23
发表于 2009-4-23 12:28:42 | 来自 中国福建福州
是个好东西呀收下

71

主题

3602

帖子

4658

积分

落伍者(两全齐美)

大师

Rank: 2

贡献
2486
鲜花
12
注册时间
2005-12-2

落伍手机绑定

发表于 2009-4-23 12:49:04 | 来自 中国河南许昌
Fatal error: Maximum execution time of 30 seconds exceeded in D:\wwwroot\uch\upload\iis.php on line 49
有多狂妄,敢去过去的地方,没事一样,敢捡起路边的月光。
头像被屏蔽

38

主题

1万

帖子

474

积分

落伍者(一心一意)

【QQ:272340030】浙B2-20060038

Rank: 1

贡献
5696
鲜花
54
注册时间
2008-11-14
发表于 2009-4-23 12:52:23 | 来自 中国浙江宁波
关注,帮顶
签名被屏蔽

19

主题

542

帖子

1233

积分

落伍者(两全齐美)

Rank: 2

贡献
834
鲜花
0
注册时间
2009-3-18

QQ绑定

发表于 2009-4-23 12:53:32 | 来自 中国广东深圳
这个要顶

1万

主题

21万

帖子

21万

积分

落伍者(八仙过海)

其实我是一个演员

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

贡献
8352
鲜花
224
注册时间
2007-12-25

QQ绑定落伍者落伍手机绑定

发表于 2009-4-23 12:56:46 | 来自 中国山东日照
很强大。。
我是一个注册商标的,注册商标找我微信: zhikeu

327

主题

2万

帖子

6871

积分

落伍者(三羊开泰)

被小瑜改了

Rank: 3Rank: 3

贡献
3793
鲜花
113
注册时间
2008-12-31
 楼主| 发表于 2009-4-23 13:22:05 | 来自 中国北京
Fatal error: Maximum execution time of 30 seconds exceeded in D:\wwwroot\uch\upload\iis.php on line 49
阿牧 发表于 2009-4-23 12:49

这个可能是日志文件过大,运行超时
不好意思,程序效率有问题
目前只能改配置文件,修改php.ini中max_execution_time = 180试一试,建议将日志文件下载到自己的电脑中分析

71

主题

3602

帖子

4658

积分

落伍者(两全齐美)

大师

Rank: 2

贡献
2486
鲜花
12
注册时间
2005-12-2

落伍手机绑定

发表于 2009-4-23 13:34:19 | 来自 中国河南许昌
读取了个28M的。
有多狂妄,敢去过去的地方,没事一样,敢捡起路边的月光。
论坛客服/商务合作/投诉举报:2171544 (QQ)
落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
© 2001-2014

浙公网安备 33060302000191号

浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

  落伍法律顾问: ITlaw-庄毅雄

手机版|找回帐号|不能发帖?|Archiver|落伍者

GMT+8, 2024-6-18 17:10 , Processed in 0.121111 second(s), 39 queries , Gzip On.

返回顶部