繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> XML相关 >> 利用XML技术获取域名的世界排名数字

利用XML技术获取域名的世界排名数字

2004-10-01 08:26:10  作者:  来源:互联网  浏览次数:56  文字大小:【】【】【
简介:    利用以下的代码,可以从WWW.ALEXA.COM网站中返回域名的世界排名数字,相信这个代码很有用处。     以前总是看到美萍网站的网站导航里面,每隔站点都能够显示世界...

利用以下的代码,可以从WWW.ALEXA.COM网站中返回域名的世界排名数字,相信这个代码很有用处。

以前总是看到美萍网站的网站导航里面,每隔站点都能够显示世界排名数字,不知道是怎么得到的。经过不断的努力,我终于利用简单的ASP+XML的方法得到了这个数字。惊喜之余,也拿出来和大家共享吧!相信聪明的您通过修改这个代码将会把它的功能发挥到极致!在这里我有一个小小的要求,如果您改出来了什么好东东,也给我发一份,好吗?

<%

'=========================================================

' 文件:AlexaRank.asp

' 功能:返回域名的世界排名数字

' 时间:2004-06-24

' 作者:Guidy

' 版权:iXuEr Studio

'=========================================================

' Copyright (C) 2004-2006 114XP.CN All rights reserved.

' 官方网站:HTTP://www.114xp.cn

' 技术论坛:HTTP://bbs.114xp.cn

' 电子信箱:guidy@qq.com.guidy@psysch.com

'=========================================================

Server.ScriptTimeOut=120

On Error Resume Next

Dim Url

Url = "www.114xp.cn"

Response.Write(AlexaRank(Url))

Response.End()

'==========================================================

Function AlexaRank(Url)

'过滤无用信息,只剩余世界排名

'此方法是作者认真分析网页代码而得出的,所以不保证永久有效

'如果您还有什么更好的办法,不妨来告诉我,共同探讨嘛~~

Dim AlexaUrl,RpStr,TempStr

Dim x,n

RpStr = "

AlexaUrl = "http://www.alexa.com/data/details/traffic_details?q=&url=" & Url

TempStr = GetHTTPPage(AlexaUrl)

n = InStr(TempStr,RpStr) - 1

TempStr = Left(TempStr,n)

TempStr = StrReverse(TempStr)

x = InStr(TempStr,">") - 1

TempStr = Left(TempStr,x)

TempStr = StrReverse(TempStr)

AlexaRank = TempStr

End Function

'==========================================================

Function GetHTTPPage(url)

'利用XML技术来获取网页数据

on Error resume next

Dim HTTP

Set HTTP=Server.CreateObject("Microsoft.XMLHTTP")

HTTP.Open "GET",Url,False

HTTP.Send()

If HTTP.ReadyState<>4 then

exit function

end If

GetHTTPPage=Bytes2BSTR(HTTP.ResponseBody)

Set HTTP=Nothing

If Err.Number<>0 Then Err.Clear

End function

'==========================================================

Function Bytes2BSTR(vIn)

'还原网页数据为文本字符

Dim StrReturn

Dim i,ThisCharCode,NextCharCode

StrReturn = ""

For i = 1 To LenB(vIn)

ThisCharCode = AscB(MidB(vIn,i,1))

If ThisCharCode < &H80 Then

StrReturn = StrReturn & Chr(ThisCharCode)

Else

NextCharCode = AscB(MidB(vIn,i+1,1))

StrReturn = StrReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))

i = i + 1

End If

Next

Bytes2BSTR = StrReturn

End Function

%>

责任编辑:admin
相关文章