asp 判断是否为搜索引擎蜘蛛的代码

  

复制代码 代码如下:

  <%

  function GetBot()

  '查询蜘蛛

  dim s_agent

  GetBot=""

  s_agent=Request.ServerVariables("HTTP_USER_AGENT") ‘关键判断语句

  if instr(1,s_agent,"googlebot",1) >0 then

  GetBot="google"

  end if

  if instr(1,s_agent,"msnbot",1) >0 then

  GetBot="MSN"

  end if

  if instr(1,s_agent,"slurp",1) >0 then

  GetBot="Yahoo"

  end if

  if instr(1,s_agent,"baiduspider",1) >0 then

  GetBot="baidu"

  end if

  if instr(1,s_agent,"sohu-search",1) >0 then

  GetBot="Sohu"

  end if

  if instr(1,s_agent,"lycos",1) >0 then

  GetBot="Lycos"

  end if

  if instr(1,s_agent,"robozilla",1) >0 then

  GetBot="Robozilla"

  end if

  end function

  if GetBot="baidu" then

  '给百度定制的内容

  elseif GetBot="google" then

  '给google 定制的内容

  end if

  %>

  下面是比较完整的代码需要的朋友也可以参考下。里面还包括了一些客户端信息。

  

复制代码 代码如下:

  Class SystemInfo_Cls

  Public Browser, version, platform, IsSearch, AlexaToolbar

  Private Sub Class_Initialize()

  Dim Agent, Tmpstr

  IsSearch = False

  If Not IsEmpty(Session("SystemInfo_Cls")) Then

  Tmpstr = Split(Session("SystemInfo_Cls"), "|||")

  Browser = Tmpstr(0)

  version = Tmpstr(1)

  platform = Tmpstr(2)

  AlexaToolbar = Tmpstr(4)

  If Tmpstr(3) = "1" Then

  IsSearch = True

  End If

  Exit Sub

  End If

  Browser = "unknown"

  version = "unknown"

  platform = "unknown"

  Agent = Request.ServerVariables("HTTP_USER_AGENT")

  If InStr(Agent, "Alexa Toolbar") > 0 Then

  AlexaToolbar = "YES"

  Else

  AlexaToolbar = "NO"

  End If

  If Left(Agent, 7) = "Mozilla" Then '有此标识为浏览器

  Agent = Split(Agent, ";")

  If InStr(Agent(1), "MSIE") > 0 Then

  Browser = "Internet Explorer "

  version = Trim(Left(Replace(Agent(1), "MSIE", ""), 6))

  ElseIf InStr(Agent(4), "Netscape") > 0 Then

  Browser = "Netscape "

  Tmpstr = Split(Agent(4), "/")

  version = Tmpstr(UBound(Tmpstr))

  ElseIf InStr(Agent(4), "rv:") > 0 Then

  Browser = "Mozilla "

  Tmpstr = Split(Agent(4), ":")

  version = Tmpstr(UBound(Tmpstr))

  If InStr(version, ")") > 0 Then

  Tmpstr = Split(version, ")")

  version = Tmpstr(0)

  End If

  End If

  If InStr(Agent(2), "NT 5.2") > 0 Then

  platform = "Windows 2003"

  ElseIf InStr(Agent(2), "Windows CE") > 0 Then

  platform = "Windows CE"

  ElseIf InStr(Agent(2), "NT 5.1") > 0 Then

  platform = "Windows XP"

  ElseIf InStr(Agent(2), "NT 4.0") > 0 Then

  platform = "Windows NT"

  ElseIf InStr(Agent(2), "NT 5.0") > 0 Then

  platform = "Windows 2000"

  ElseIf InStr(Agent(2), "NT") > 0 Then

  platform = "Windows NT"

  ElseIf InStr(Agent(2), "9x") > 0 Then

  platform = "Windows ME"

  ElseIf InStr(Agent(2), "98") > 0 Then

  platform = "Windows 98"

  ElseIf InStr(Agent(2), "95") > 0 Then

  platform = "Windows 95"

  ElseIf InStr(Agent(2), "Win32") > 0 Then

  platform = "Win32"

  ElseIf InStr(Agent(2), "Linux") > 0 Then

  platform = "Linux"

  ElseIf InStr(Agent(2), "SunOS") > 0 Then

  platform = "SunOS"

  ElseIf InStr(Agent(2), "Mac") > 0 Then

  platform = "Mac"

  ElseIf UBound(Agent) > 2 Then

  If InStr(Agent(3), "NT 5.1") > 0 Then

  platform = "Windows XP"

  End If

  If InStr(Agent(3), "Linux") > 0 Then

  platform = "Linux"

  End If

  End If

  If InStr(Agent(2), "Windows") > 0 And platform = "unknown" Then

  platform = "Windows"

  End If

  ElseIf Left(Agent, 5) = "Opera" Then '有此标识为浏览器

  Agent = Split(Agent, "/")

  Browser = "Mozilla "

  Tmpstr = Split(Agent(1), " ")

  version = Tmpstr(0)

  If InStr(Agent(1), "NT 5.2") > 0 Then

  platform = "Windows 2003"

  ElseIf InStr(Agent(1), "Windows CE") > 0 Then

  platform = "Windows CE"

  ElseIf InStr(Agent(1), "NT 5.1") > 0 Then

  platform = "Windows XP"

  ElseIf InStr(Agent(1), "NT 4.0") > 0 Then

  platform = "Windows NT"

  ElseIf InStr(Agent(1), "NT 5.0") > 0 Then

  platform = "Windows 2000"

  ElseIf InStr(Agent(1), "NT") > 0 Then

  platform = "Windows NT"

  ElseIf InStr(Agent(1), "9x") > 0 Then

  platform = "Windows ME"

  ElseIf InStr(Agent(1), "98") > 0 Then

  platform = "Windows 98"

  ElseIf InStr(Agent(1), "95") > 0 Then

  platform = "Windows 95"

  ElseIf InStr(Agent(1), "Win32") > 0 Then

  platform = "Win32"

  ElseIf InStr(Agent(1), "Linux") > 0 Then

  platform = "Linux"

  ElseIf InStr(Agent(1), "SunOS") > 0 Then

  platform = "SunOS"

  ElseIf InStr(Agent(1), "Mac") > 0 Then

  platform = "Mac"

  ElseIf UBound(Agent) > 2 Then

  If InStr(Agent(3), "NT 5.1") > 0 Then

  platform = "Windows XP"

  End If

  If InStr(Agent(3), "Linux") > 0 Then

  platform = "Linux"

  End If

  End If

  Else

  '识别搜索引擎

  Dim botlist, i

  botlist = "Google,Isaac,Webdup,SurveyBot,Baiduspider,ia_archiver,P.Arthur,FAST-WebCrawler,Java,Microsoft-ATL-Native,TurnitinBot,WebGather,Sleipnir"

  botlist = Split(botlist, ",")

  For i = 0 To UBound(botlist)

  If InStr(Agent, botlist(i)) > 0 Then

  platform = botlist(i) & "搜索器"

  IsSearch = True

  Exit For

  End If

  Next

  End If

  If IsSearch Then

  Browser = ""

  version = ""

  Session("SystemInfo_Cls") = Browser & "|||" & version & "|||" & platform & "|||1|||" & AlexaToolbar

  Else

  Session("SystemInfo_Cls") = Browser & "|||" & version & "|||" & platform & "|||0|||" & AlexaToolbar

  End If

  End Sub

  End Class