统计插件的测试记录

昨天把自己做的统计插件放在博里进行测试,发现很多莫名的直接访问,其中包括google、微软、yahoo和一个来自北京的IP,突然意识到,这是搜索引擎蜘蛛爬来抓网页了,晕倒,看来好好的测试还是有很必要的,做插件时没想到这个问题,于是使用下面一句代码屏蔽了蜘蛛抓取记录。

 if (preg_match("/(Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla)/i", $_SERVER['HTTP_USER_AGENT'])) return; 

使用上面的代码后,又进行了测试,果然好多了,没有那么多的蜘蛛的记录在插件上了,可又很失落,唉,俺的博客太小了,来的人太少了,郁闷着的时候居然又想到一个问题,曾经很多朋友,尤其是刚刚做站的朋友,总是在感叹:蜘蛛怎么还不来抓啊?呵呵,看来各种时期都有各种时期的烦恼啊,于是乎想到将“是否记录蜘蛛抓取”这个作为选项,并在国旗的位置弄个蜘蛛旗,这样如果有人需要记录蜘蛛,那么会一目了然,这样既不费事,又些许增强了插件的功能,当然,我可没想让插件只记录蜘蛛,呵,如果您想专门记录蜘蛛的话(我想那样的朋友还是很少的吧),在这个插件正式发布后您可以自行修改,下面这段是区分这个蜘蛛是来自哪个搜索引擎的。

 function get_spider_name() {
	$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;
} 

OK,再测试两天,没有什么问题的话就发布了。

另:这个插件很简单,只是做一个统计访问,包含来源网站、来源网址、来源地和时间,限于自己英盲的水平,还请英语好的朋友给起个英文的插件名,如果您愿意的话,请留言给我,深表感谢。

喜欢 0

这篇文章有7条评论

  1. sleepy 2009/9/22 #1 [REPLY]

    @德海
    是呀,有想法了是要记下来,这好像就是GTD的第一步

  2. 德海 (作者) 2009/9/22 #2 [REPLY]

    @sleepy
    呵,有时候有点灵感最好也记下来,哪怕只是记给自己看,要不然过后忘记了就不容易找回来了。
    哦,呵,谁让纯真数据库是民间自发的呢,不过也正是因为这种原因才能随意的使用,不然用国外那种,晕倒,几十美金一个小库,要全库都小一千多美金了。而且纯真这个相对记录国内的IP更多更准确一些。

  3. sleepy 2009/9/22 #3 [REPLY]

    @德海 ,不更新是因为想不到东西可以写,呵呵,不过正在写这段文字的时候有了个想法,晚上有空弄一下。
    还有我这不是同济大学,那个纯真数据库有点出入的,我这是某公司,且在长宁区,离同济所在杨浦好远的说。

  4. 德海 (作者) 2009/9/22 #4 [REPLY]

    @sleepy
    呵,我的站还不是更小,这种东西我觉得更多的是好玩,不用多大资源就能玩一下,比如你用GG Reader来读的?因为我从链接来源返回去是我的Reader,再比如你在同济大学学生宿舍上网?呵,如果纯真数据库完全准确,并且你没有使用代理的情况下,这种猜测是完全可行的,哈哈。
    另:咋不更新日志了呢?呵,跟我一样犯懒?

  5. sleepy 2009/9/22 #5 [REPLY]

    关注,虽然对我这样的小站来说估计也没什么东东可以陈列的

  6. 德海 (作者) 2009/9/22 #6 [REPLY]

    @万戈
    要是好用,师太,你就等发布之后用了吧。 :eek:
    就是有个副作用,呵,如果纯真数据库准确的话,可以知道来访的朋友在哪个具体位置上网。比如数据库里居然还有“清华XX学生公寓XXX室”。
    再次晕倒一下,又忘了我用的是IE6,又假死一次……

  7. 万戈 2009/9/22 #7 [REPLY]

    好东西,关注一下

发表评论