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

利用以下的代码,可以从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 = "</td><td class=""bodyBold"" align=""center"" bgcolor=""#ffffff""><img" '此行不准改动 
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 
%>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值