判断蜘蛛是否访问你的网站

搜索引擎的蜘蛛访问网站是通过远程抓取页面来进行的,我们不能使用JS代码来取得蜘蛛的Agent信息,但是我们可以通过image标签,这样我们就可以得到蜘蛛的agent资料了,通过对agent资料的分析,就可以确定蜘蛛的种类、性别等因素,我们在通过数据库或者文本来记录就可以进行统计了。
数据库结构:

#
# 表的结构 `naps_stats_bot`
#

CREATE TABLE `naps_stats_bot` (
`botid` int(10) unsigned NOT NULL auto_increment,
`botname` varchar(100) NOT NULL default ‘’,
`botagent` varchar(200) NOT NULL default ‘’,
`bottag` varchar(100) NOT NULL default ‘’,
`botcount` int(11) NOT NULL default ‘0′,
`botlast` datetime NOT NULL default ‘0000-00-00 00:00:00′,
`botlasturl` varchar(250) NOT NULL default ‘’,
UNIQUE KEY `botid` (`botid`),
KEY `botname` (`botname`)
) TYPE=MyISAM AUTO_INCREMENT=9 ;

#
# 导出表中的数据 `naps_stats_bot`
#

INSERT INTO `naps_stats_bot` VALUES (1, ‘Googlebot’, ‘Googlebot/2.X (+http://www.googlebot.com/bot.html)’, ‘googlebot’, 0, ‘0000-00-00 00:00:00′, ‘’);
INSERT INTO `naps_stats_bot` VALUES (2, ‘MSNbot’, ‘MSNBOT/0.1 (http://search.msn.com/msnbot.htm)’, ‘msnbot’, 0, ‘0000-00-00 00:00:00′, ‘’);
INSERT INTO `naps_stats_bot` VALUES (3, ‘Inktomi Slurp’, ‘Slurp/2.0′, ’slurp’, 0, ‘0000-00-00 00:00:00′, ‘’);
INSERT INTO `naps_stats_bot` VALUES (4, ‘Baiduspider’, ‘Baiduspider+(+http://www.baidu.com/search/spider.htm)’, ‘baiduspider’, 0, ‘0000-00-00 00:00:00′, ‘’);
INSERT INTO `naps_stats_bot` VALUES (5, ‘Yahoobot’, ‘Mozilla/5.0+(compatible;+Yahoo!+Slurp;+http://help.yahoo.com/help/us/ysearch/slurp)’, ’slurp’, 0, ‘0000-00-00 00:00:00′, ‘’);
INSERT INTO `naps_stats_bot` VALUES (6, ‘Sohubot’, ’sohu-search’, ’sohu-search’, 0, ‘0000-00-00 00:00:00′, ‘’);
INSERT INTO `naps_stats_bot` VALUES (7, ‘Lycos’, ‘Lycos/x.x’, ‘lycos’, 0, ‘0000-00-00 00:00:00′, ‘’);
INSERT INTO `naps_stats_bot` VALUES (8, ‘Robozilla’, ‘Robozilla/1.0′, ‘robozilla’, 0, ‘0000-00-00 00:00:00′, ‘’);

PHP程序:

<?php 
/*************************************************************************** 
* NAPS -- Network Article Publish System 
* ---------------------------------------------- 
*                                             bot.php 
*                                     ------------------- 
*     begin                     : 2004-08-15 
*     copyright                 : (C) 2004 week9 
*     email                     : wapshow@gmail.com 
*     homepage                 : http://www.week9.com 
*                                     http://www.wapshow.com 

***************************************************************************/ 
     
/*************************************************************************** 

*     This program is free software; you can redistribute it and/or modify 
*     it under the terms of the GNU General Public License as published by 
*     the Free Software Foundation; either version 2 of the License. 

***************************************************************************/ 
     
/*************************************************************************** 

*     NAPS产品是自由软件。你可以且必须根据《GNU GPL-GNU通用公共许可证》的相关规定 
*     复制、修改及分发NAPS产品。任何以NAPS产品为基础的衍生发行版未必须经过飘飘的授权。 

***************************************************************************/ 
     
error_reporting(E_ALL & ~E_NOTICE); 
     
function 
get_naps_bot() 

             
$useragent strtolower($_SERVER['HTTP_USER_AGENT']); 
                                 
             if (
strpos($useragent'googlebot') !== false){ 
                     return 
'Googlebot'
             } 
             
             if (
strpos($useragent'msnbot') !== false){ 
                     return 
'MSNbot'
             } 
             
             if (
strpos($useragent'slurp') !== false){ 
                     return 
'Yahoobot'
             } 
             
             if (
strpos($useragent'baiduspider') !== false){ 
                     return 
'Baiduspider'
             } 
             
             if (
strpos($useragent'sohu-search') !== false){ 
                     return 
'Sohubot'
             } 
             
             if (
strpos($useragent'lycos') !== false){ 
                     return 
'Lycos'
             } 
             
             if (
strpos($useragent'robozilla') !== false){ 
                     return 
'Robozilla'
             }             
             return 
false

     
$tlc_thispage addslashes($_SERVER['HTTP_USER_AGENT']); 
//添加蜘蛛的抓取记录 
$searchbot get_naps_bot(); 
if (
$searchbot) { 
             
$DB_naps->query("UPDATE naps_stats_bot SET botcount=botcount+1, botlast=NOW(), botlasturl='$tlc_thispage' WHERE botname='$searchbot'"); 

     
?>

« 上一篇 | 下一篇 »
只显示10条记录相关文章
php header 跳转 (浏览: 451, 评论: 0)
MySQL数据库同步方法(主从模式) (浏览: 519, 评论: 0)
定时清理旧的log文件 (浏览: 1806, 评论: 1)
FIREFOX取动态input值 (浏览: 1158, 评论: 0)
用css方式巧妙保护邮箱地址 (浏览: 1183, 评论: 0)
PHP5_OOP面向对象---教程下载 (浏览: 2299, 评论: 0)
vc++中用ado连接oracle数据库 (浏览: 4173, 评论: 0)
在DISDUZ!5.5中添加代码高亮插件成功 (浏览: 3123, 评论: 1)
xajax+php的一个DEMO--Blackjack(21点) (浏览: 3503, 评论: 3)
关于使用PHP6的感受 (浏览: 2735, 评论: 0)
Trackbacks
点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5
发表评论

评论内容(*):