ASP获取ALEXA排名的算法

ASP获取ALEXA排名的算法,可以破除alexa页面中的干扰码。
        网上现流行的获取ALEXA排名的asp源码很多都已经无效,大多数代码采取的是读取http://www.alexa.com/data/details/traffic_details/www.newbooks.com.cn页面,从中获取ALEXA排名。
但是现在Alexa已经在显示排名的地方加入了干扰码。我们可以看下这个页面显示排名数据的代码。如:www.newbooks.com.cn 的排名为:221,925。我们通过查看源代码看到,显示排名的地方显示的代码为:<span class="cfba">22</span><span class="c477">33</span>1,9<span class="cbea">36</span><span class="c120">25</span>
如果采用以前的获取排名的代码的方式,得到的将是这样一串字符串。而且alexa排名页面中的span的class和其中的数字是随机生成的。这样的话,我们通过以前的方式来获取排名就比较困难了。
        我仔细分析了一下alexa排名页面的代码,很容易就发现了alexa排名的干扰码的生成规律。
        譬如www.newbooks.com.cn 的排名为:221,925,在alexa代码中,<span class="c477">33</span>、<span class="cbea">36</span>这些代码属于干扰码,这些干扰码有什么规律呢?我通过分析alexa的CSS样式,发现class=c477及cbea在样式表中定义的display属性为none。这样,这几个数字在页面上并不会显示,但是代码中却有这些代码,从而达到干扰的效果。其中alexa定义css属性的样式文件为:http://client.alexa.com/common/css/scramble.css。相信到这里大家都应该能找到破除alexa干扰码的方案了。
        我的破除alexa的干扰码的大致思路如下:
        1.通过xmlhttp读取http://client.alexa.com/common/css/scramble.css该页面的内容,当然,我们也可以直接把这个页面保存到本地使用,但是我们不能保证alexa是否会重新修改该css样式,所以我们实时读取http://client.alexa.com/common/css/scramble.css该页面的内容的方案比较可靠点,我们将页面内容存入变量strAlexaCss中。
        2.通过xmlhttp读取http://www.alexa.com/data/details/traffic_details/www.newbooks.com.cn页面内容,alexa在显示排名的地方,会有如下代码<!--Did you know? Alexa offers this data programmatically.  Visit http://aws.amazon.com/awis for more information about the Alexa Web Information Service.-->,所以我们可以截取我们获得页面内容中的字符串,取<!--Did you know? Alexa offers this data programmatically.  Visit http://aws.amazon.com/awis for more information about the Alexa Web Information Service.-->和<!-- google_ad_section_end(name=default) -->之中的内容。这样,我们就获得了:<span class="cfba">22</span><span class="c477">33</span>1,9<span class="cbea">36</span><span class="c120">25</span></span>这样的字符串,保存至变量rankcontent。
进入http://blog.linkhelper.cn/post/aspalexarank.html查看完整内容和源代码下载。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值