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)
结合这个你就可以写一个蜘蛛访问记录了,如何判断正常用户或者蜘蛛?可以粗略的这样来判断:通过判断用户的访问来源页面,比如从jb51.net/index.htm这个文件点进show.asp?id=11那么他的来源页面我们知道就是jb51.net/index.htm,那么粗略判断他就是正常客户。而蜘蛛的来源则不是,把这部分不是的记录下来,再从中选择。可以结合数据库进行记录。
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)
结合这个你就可以写一个蜘蛛访问记录了,如何判断正常用户或者蜘蛛?可以粗略的这样来判断:通过判断用户的访问来源页面,比如从jb51.net/index.htm这个文件点进show.asp?id=11那么他的来源页面我们知道就是jb51.net/index.htm,那么粗略判断他就是正常客户。而蜘蛛的来源则不是,把这部分不是的记录下来,再从中选择。可以结合数据库进行记录。