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

2018-09-06 10:31

阅读:747

  复制代码 代码如下:
<%
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


评论


亲,登录后才可以留言!