IT学习者 | 文章大全 | 技术文档 | 桌面壁纸 | 实用查询 | 网络电台 | 成语 | 歇后语 | 网址 | 下载 | 周公解梦 | 生日密码 | 电视剧365 | Flash
 您现在的位置: IT学习者 >> 文章大全 >> 网络编程 >> ASP技术 >> [专题]ALEXA排名

用ASP程序读取网站的Alexa世界排名

【 作者:ITlearner    来源:本站原创  更新时间:2004-7-1 | 字体:

平时每逢Alexa排名更新时,我都需要将所有相关的同类网站的排名整理一下,看一下这些对手网站的排名更新情况。做的多了,也就烦了,虽然也才30多个网站,但一个个看下来也有点累。因此,想能不能用程序来读取他的排名数据。

以前记得在什么网址大全的网站上,一个网站名称后面还有这个网站的世界排名,相信肯定是用程序读取的,不然要是一个个查非累死不可。但是浏览遍了Alexa的网站,也没有找到能够直接得到排名数据的方法。虽然它提供了一些代码,如:,但是图片的数字就没办法读取到了。

后来想要不用xmlhttp读它页面,然后截取出那段数字?麻烦是麻烦点,也许可以一试。于是开始查看显示排名的那两页,http://www.alexa.com/data/details/?url=www.itlearner.com 和 http://www.alexa.com/data/details/traffic_details?q=&url=www.itlearner.com,查看源文件,搜索"Traffic Rank for",搜到我网站的排名是这样一段代码:<ti><bbip><Traffic><Today>4</Today></Traffic></bbip></ti>5<tprp><pyp><Page Views rank:><pyp>,</pyp></Page Views rank:></pyp></tprp><Today>7</Today><Page Views per user:><tq3re@rexef.com><Today>6</Today></tq3re@rexef.com></Page Views per user:><budf@opif.org><Traffic Rank for>1</Traffic Rank for></budf@opif.org>,扑通,看得这段代码都大了,再找了一下,看到在显示Traffic rank:Today 1 wk. Avg. 3 mos. Avg. 3 mos. Change那边,前面today和1wk都是用上面那种形式表示的,而到了3 mos也就是最关键的数据那边,确是直接用数字显示的,太好了!

分析了一下前后的代码,发现数据后面的</td><td class="bodyBold" align="center" bgcolor="#ffffff"><img这段代码是唯一的,于是开始编程工作。

下面的源代码示例,供大家参考:

<%
Private Function bytes2BSTR(vIn)
 Dim i, ThischrCode, NextchrCode
 strReturn = ""
 For i = 1 To LenB(vIn)
  ThischrCode = AscB(MidB(vIn, i, 1))
  If ThischrCode < &H80 Then
   strReturn = strReturn & Chr(ThischrCode)
  Else
   NextchrCode = AscB(MidB(vIn, i + 1, 1))
   strReturn = strReturn & Chr(CLng(ThischrCode) * &H100 + CInt(NextchrCode))
   i = i + 1
  End If
 Next
    bytes2BSTR = strReturn
End Function
Function GetURL(url)
    Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
          With Retrieval
          .Open "GET", url, False, "", ""
          .Send
          GetURL = .ResponseText
    GetURL = bytes2BSTR(.Responsebody)
          End With
    Set Retrieval = Nothing
End Function

'以上是使用xmlhttp读取页面代码的通用代码

Function GetAlexaRank(url)
 on error resume next
 Dim tempstr,trueurl,x,keystr

 trueurl = "http://www.alexa.com/data/details/traffic_details?q=&url=" & url
 tempstr=GetURL(trueurl)

 keystr = "</td><td class=""bodyBold"" align=""center"" bgcolor=""#ffffff""><img"
 TempStr = split(TempStr,keystr)(0)

 x = InstrRev(TempStr,">") + 1
 TempStr = mid(TempStr,x)
 if err then
  GetAlexaRank=err.description
  err.clear
 else
  GetAlexaRank=TempStr
 end if
End Function

'以上是读取Alexa网站页面,对代码进行分析然后得到排名的数据

Dim url
url="www.itlearner.com" '要查询的网址,不要加http://
Response.write(GetAlexaRank2(url)) '输出排名数据

%>

嘿嘿,以后公司的相关网站排名,就不用再一个一个去查了,只需要把那些网站依此放在程序里,就可以让程序一个一个的读出来了。

相 关 文 章
相 关 软 件

音乐
画心 放生 天亮了 牡丹江 那滋味 擦肩而过 放手去爱 北京欢迎你 依然在一起 吻得太逼真 牵手的右前方 坐上火车去拉萨 如果爱能早些说出来
心碎 稻香 从新爱 别碰我 魔杰座 红楼梦中 为你而活 一定要爱你 等爱的玫瑰 失落非主流 越单纯越幸福 最后一次的温柔 孤独的时候可以抱你
光荣 火花 下雨天 小酒窝 樱花草 为你写诗 无可取代 无情的温柔 寂寞才说爱 忘不掉的伤 爱上你是个错 陪你一起看草原 地球人都知道我爱你
假如 相思 女儿红 有缘人 舍不得 我的答铃 如何是好 外滩十八号 我们的纪念 摇滚怎么了 和寂寞说分手 爱上你是我的错 爱情里没有谁对谁错
加入收藏留言建议自助友情链接普通友情链接站长的Blog
版权所有   COPYRIGHT 2002-2008 ★IT学习者★ ALL RIGHTS RESERVED.