利用XML技术获取域名的世界排名数字
以前總是看到美萍網(wǎng)站的網(wǎng)站導(dǎo)航里面,每隔站點(diǎn)都能夠顯示世界排名數(shù)字,不知道是怎么得到的。經(jīng)過不斷的努力,我終于利用簡(jiǎn)單的ASP+XML的方法得到了這個(gè)數(shù)字。驚喜之余,也拿出來和大家共享吧!相信聰明的您通過修改這個(gè)代碼將會(huì)把它的功能發(fā)揮到極致!在這里我有一個(gè)小小的要求,如果您改出來了什么好東東,也給我發(fā)一份,好嗎??
<%?
'=========================================================?
' 文件:AlexaRank.asp?
' 功能:返回域名的世界排名數(shù)字?
' 時(shí)間:2004-06-24?
' 作者:Guidy?
' 版權(quán):iXuEr Studio?
'=========================================================?
' Copyright (C) 2004-2006 114XP.CN All rights reserved.?
' 官方網(wǎng)站:HTTP://www.114xp.cn?
' 技術(shù)論壇: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)?
'過濾無用信息,只剩余世界排名?
'此方法是作者認(rèn)真分析網(wǎng)頁代碼而得出的,所以不保證永久有效?
'如果您還有什么更好的辦法,不妨來告訴我,共同探討嘛~~?
Dim AlexaUrl,RpStr,TempStr?
Dim x,n
RpStr = "</td><td class=""bodyBold"" align=""center"" bgcolor=""#ffffff""><img" '此行不準(zhǔn)改動(dòng)?
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技術(shù)來獲取網(wǎng)頁數(shù)據(jù)?
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)?
'還原網(wǎng)頁數(shù)據(jù)為文本字符?
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?
%>
總結(jié)
以上是生活随笔為你收集整理的利用XML技术获取域名的世界排名数字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业及时通讯软件源代码销售,功能类似QQ
- 下一篇: IBM-142-XML认证