Alexa的XML API获取网站的Alexa排名的PHP示例代码

分类:应用接口| 发布:佚名| 查看:369 | 发表时间:2014/8/19

我们通会用Alexa的网站(或其它站长工具网站)来栓查我们的网​站流量排名,这样就必须去那些网站。实际上,可以通过Alexa XML API 获取网站的Alexa相关的数据(XML格式的),再使用XML解析器来解析Alexa返回的XML,得到Alexa排名或其它的数据。

Alexa接口

Alexa的XML API接口是:http://data.alexa.com/data?cli=10&url=%YOUR_URL%

如果想获取更多的数据可以用:http://data.alexa.com/data?cli=10&dat=snbamz&url=%YOUR_URL%

用http://data.alexa.com/data?cli=10&dat=snbamz&url=camnpr.com返回的数据如下:

代码如下:
01<ALEXA VER="0.9" URL="camnpr.com/" HOME="0" AID="=" IDN="camnpr.com/">
02<script id="tinyhippos-injected"/>
03<RLS PREFIX="http://" more="0"></RLS>
04<SD TITLE="A" FLAGS="" HOST="camnpr.com">
05<LINKSIN NUM="128"/>
06</SD>
07<SD>
08<POPULARITY URL="camnpr.com/" TEXT="796686" SOURCE="panel"/>
09<REACH RANK="603984"/>
10<RANK DELTA="+31182"/>
11<COUNTRY CODE="CN" NAME="China" RANK="40350"/>
12</SD>
13</ALEXA>


其中POPULARITY元素中的TEXT属性的值796686就是Alexa排名。

代码实现:

用PHP实现通过Alexa API 获取Alexa排名的代码为:

代码如下:
01<php>
02function getAlexaRank ($Domain){
03     $line = "";
04     $data = "";
05     $URL = "http://data.alexa.com/data/?cli=10&dat=snba&url=". $Domain ;
06     $fp = fopen ($URL ,"r");
07     if ($fp ){
08           while (!feof ($fp )){
09                $line = fgets ($fp );
10                $data .= $line ;
11           }
12           $p= xml_parser_create ();
13           xml_parse_into_struct ($p , $data , $vals );
14           xml_parser_free ($p );
15           for ($i =0 ;$i <count ($vals );$i ++){
16  if ($vals [$i ]["tag"]=="POPULARITY"){
17      return  $vals [$i ]["attributes"]["TEXT"];
18  }
19    }
20      }
21}
22?>

使用方法:

代码如下:
1<?php
2    echo getAlexaRank("camnpr.com");
3?>
365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/api/1600.html