Heim >php教程 >php手册 >通过PHP程序统计蜘蛛是否访问你的网站

通过PHP程序统计蜘蛛是否访问你的网站

WBOY
WBOYOriginal
2016-06-21 08:58:551075Durchsuche

程序|访问|统计|蜘蛛

  搜索引擎的蜘蛛访问网站是通过远程抓取页面来进行的,我们不能使用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程序:

/***************************************************************************
* 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'");
}

?>



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn