📄 tony.asp
字号:
<%
'网站指数查询系统
'Designed By Tony
'Tony [AT] 126.com
'请保留版权信息
Class Search
Private URL, Re, XML, objstream, Site_SearchURL
Private PageStr, Site_URL
Private Sub Class_Initialize()
Set Re = New RegExp
Re.IgnoreCase = True
Re.Global = True
URL = Request.QueryString("url")
Call CheckUrl()
Set XML = Server.createobject("Microsoft.XMLHTTP")
Set objstream = Server.CreateObject("adodb.stream")
End Sub
Private Sub Class_Terminate()
Set Re = Nothing
Set XML = Nothing
Set objstream = Nothing
End Sub
Private Sub CheckUrl()
If IsNull(URL) Or IsEmpty(URL) Then
Call ReturnScript("OutStr('msg_search','网址格式错误');",1)
ElseIf Left(URL,7) <> "http://" Then
URL = "http://" + URL
End If
Re.Pattern = "^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>""])*$"
If Not Re.Test(URL) Then Call ReturnScript("OutStr('msg_search','网址格式错误');",1)
End Sub
Private Sub ReturnScript(str,over)
'str = Replace(str,"""","'")
Response.Write(str)
If over = 1 Then Response.End
End Sub
Private Function Format(str)
Dim t1
t1 = Replace(str,"\", "\\")
t1 = Replace(str,"'","\'")
Format = t1
End Function
Private Function Script(a,b)
Dim i, str
str = ""
If IsArray(a) Then
For i = 0 To UBound(a)
str = str & "OutStr('" & a(i) & "','" & Format(b(i)) & "');"
Next
Else
str = "OutStr('" & a & "','" & Format(b) & "');"
End If
Script = str
End Function
Private Function getHTTPPage(urls)
XML.open "GET",urls,False
XML.send()
If XML.readystate<>4 Then Call ReturnScript("OutStr('msg_search','系统繁忙,暂不能查询');",1)
getHTTPPage = Re_Replace(BytesToBstr(XML.responseBody,"utf-8"),"(<!--.+?-->)|([\f\n\r\t\v])","")
End Function
Private Function BytesToBstr(body,Cset)
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
Private Function Re_Replace(str,retxt,replacetxt)
Re.Pattern = retxt
Re_Replace = Re.Replace(str,replacetxt)
End Function
Private Function Data(retxt,num,replacetxt)
Dim Reg
Re.Pattern = retxt
Set Reg = Re.Execute(PageStr)
Dim t1,i, t2
i = 0
For Each t2 In reg
If Not IsArray(t1) Then
ReDim t1(0)
Else
ReDim Preserve t1(UBound(t1) + 1)
End If
If num > 0 Then
t1(UBound(t1)) = Re.Replace(t2.value, "$" & num)
Else
t1(UBound(t1)) = t2.value
End if
Next
PageStr = Re.Replace(PageStr,"")
If IsArray(t1) Then
Data = t1
Else
Data = Array(replacetxt)
End If
End Function
Private Function Test(str,retxt)
Re.Pattern = retxt
Test = Re.Test(str)
End Function
Private Function Tline(urls,stype,times,width,height)
Tline = "<img class=""tline"" src=""http://traffic.alexa.com/graph?w=" & width & "&h=" & height & "&r=" & times & "&y=" & stype & "&u=" & urls & """ />"
End Function
Public Sub Search_Default
'http://www.alexa.com/data/details/traffic_details?q=&
PageStr = getHTTPPage("http://www.alexa.com/data/details/traffic_details?q=&url=" & URL)
If Test(PageStr,"You have requested information for an invalid URL") Then
Call ReturnScript(Script("msg_search","网址错误"),1)
End If
Dim Site_URL, Site_Name, Site_Name_L, Site_About, Site_Rank, Site_Catalog, Site_AvgReview, Site_OtherSite, Site_Child, Site_Traffic
Dim CacheArray, CacheStr, i
Site_URL = Data("<title>.+?: (.+?)/</title>",1,"")(0)
Site_Name = "<a href=""http://" & Site_URL & """ target=""_blank"">" & Data("<span class=""titleB"">(.+?)</span>",1,"No Name")(0) & "</a>"
Site_Name_L = Data("class=""smallG"">(.+?)</span>",1,"none")(0)
Site_About = Data("shim.gif""><br><span class=""body"">(.+?)</span>",1,"No Data")(0)
Site_Rank = Data(" Traffic Rank for.+?</span>(.+?)<br>",1,"No Data")(0)
CacheArray = Data("<span class=""Crumb"">(.+?)<\/span>",1,"")
If UBound(CacheArray) < 1 Then
Site_Catalog = "没有纳入分类"
Else
Site_Catalog = CacheArray(1)
End If
Site_AvgReview = "images/" & Data("\/images\/(stars-[0-9]-[0-9]\.gif)"">",1,"stars-0-0.gif")(0)
CacheArray = Data("<li class=""bullet""><a.+?>(.+?)</a></li>",1,"No Data")
Site_OtherSite = "<ul class=""ul1"">"
For i = 0 To UBound(CacheArray)
Site_OtherSite = Site_OtherSite & "<li><a href=""#"" onclick=""Search.Search('" & CacheArray(i) & "');"" title=""查询该网站"">" & CacheArray(i) & "</li>"
Next
Site_OtherSite = Site_OtherSite & "</ul>"
CacheArray = Data("<li class=""bullet"">(.+?)</li>",1,"No Data")
Site_Child = "<ul class=""ul1"">"
For i = 0 To UBound(CacheArray)
Site_Child = Site_Child & "<li>" & CacheArray(i) & "</li>"
Next
Site_Child = Site_Child & "</ul>"
Site_Traffic = Data("<td class=""traffic"">(.+?)</td>",1,"No Data")
CacheStr = "GetE('alexa').style.display='';GetE('alexa_image').src='http://thumbnails.alexa.com/image_server.cgi?size=large&url=" & Format(Site_URL) & "';GetE('alexa_avg').src='" & Site_AvgReview & "';" & Script(Array("alexa_url","alexa_searchurl","alexa_about","alexa_rank","catalog","alexa_data1","alexa_data2","alexa_data3","alexa_data4","alexa_data5","alexa_data6","alexa_data7","alexa_data8","alexa_data9","alexa_data10","alexa_data11","alexa_data12","alexa_tline1_7d","alexa_tline1_15d","alexa_tline1_1m","alexa_tline1_3m","alexa_tline1_6m","alexa_tline2_7d","alexa_tline2_15d","alexa_tline2_1m","alexa_tline2_3m","alexa_tline2_6m","alexa_tline3_7d","alexa_tline3_15d","alexa_tline3_1m","alexa_tline3_3m","alexa_tline3_6m","alexa_child","alexa_othersite","msg_search"),Array(Site_Name,Site_Name_L,Site_About,Site_Rank,Site_Catalog,Site_Traffic(0),Site_Traffic(1),Site_Traffic(2),Replace(Site_Traffic(3),"http://client.alexa.com/common/",""),Site_Traffic(4),Site_Traffic(5),Site_Traffic(6),Replace(Site_Traffic(7),"http://client.alexa.com/common/",""),Site_Traffic(8),Site_Traffic(9),Site_Traffic(10),Replace(Site_Traffic(11),"http://client.alexa.com/common/",""),Tline(Site_URL,"t","7.0","750","280"),Tline(Site_URL,"t","15.0m","750","280"),Tline(Site_URL,"t","1m","750","280"),Tline(Site_URL,"t","3m","750","280"),Tline(Site_URL,"t","6m","750","280"),Tline(Site_URL,"r","7.0","750","280"),Tline(Site_URL,"r","15.0m","750","280"),Tline(Site_URL,"r","1m","750","280"),Tline(Site_URL,"r","3m","750","280"),Tline(Site_URL,"r","6m","750","280"),Tline(Site_URL,"p","7.0","750","280"),Tline(Site_URL,"p","15.0m","750","280"),Tline(Site_URL,"p","1m","750","280"),Tline(Site_URL,"p","3m","750","280"),Tline(Site_URL,"p","6m","750","280"),Site_Child,Site_OtherSite,"查询完成"))
'CacheStr = "GetE('alexa').style.display='';GetE('alexa_image').src='http://thumbnails.alexa.com/image_server.cgi?size=large&url=" & Format(Site_URL) & "';GetE('alexa_avg').src='" & Site_AvgReview & "';" & Script(Array("alexa_url","alexa_searchurl","alexa_about"
'), Array(,Tline("t","15.0m","750","280"),Tline("t","1m","750","280"),Tline("t","3m","750","280"),Tline("t","6m","750","280"),Tline("r","7.0","750","280"),Tline("r","15.0m","750","280"),Tline("r","1m","750","280"),Tline("r","3m","750","280"),Tline("r","6m","750","280"),Tline("p","7.0","750","280"),Tline("p","15.0m","750","280"),Tline("p","1m","750","280"),Tline("p","3m","750","280"),Tline("p","6m","750","280"),Site_Child,"查询完成"))
Call ReturnScript(CacheStr,1)
End Sub
End Class
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -