asp.net(c#)捕捉搜索引擎蜘蛛和机器人


下面是访问日志文件
2008-8-13 14:43:22

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)



2008-8-13 14:43:27

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)



2008-8-13 14:44:18

Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)



2008-8-13 14:44:26

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; QQDownload 1.7; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)



2008-8-13 14:45:17

Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)

打开这个文件,这个文件用于记录访问搜索吧的正常访客或者机器人蜘蛛,从中提取的蜘蛛有: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Gigabot/3.0 (http://www.gigablast.com/spider.html)

Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)

Mozilla/5.0 (compatible; YodaoBot/1.0; http://www.yodao.com/help/webmaster/spider/; )

Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)

msnbot/1.1 (+http://search.msn.com/msnbot.htm)

Baiduspider+(+http://www.baidu.com/search/spider.htm)

代码也十分的简单:
复制代码 代码如下:

string agent = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"];
if (agent == null)
{
Response.Write("Other");
}
else
{
Response.Write(agent);
}

你可以自己用这个代码试下,发现会输出类似: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; TencentTraveler 4.0; .NET CLR 2.0.50727; .NET CLR 1.1.4322)
结合这个你就可以写一个蜘蛛访问记录了,如何判断正常用户或者蜘蛛?可以粗略的这样来判断:通过判断用户的访问来源页面,比如从phpstudy.net/index.htm这个文件点进show.asp?id=11那么他的来源页面我们知道就是phpstudy.net/index.htm,那么粗略判断他就是正常客户。而蜘蛛的来源则不是,把这部分不是的记录下来,再从中选择。可以结合数据库进行记录。
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3