PHP使用Alexa API获取网站的Alexa排名例子
我们通会用Alexa的网站(或其它站长工具网站)来栓查我们的网站流量排名,这样就必须去那些网站。实际上,可以通过AlexaXMLAPI获取网站的Alexa相关的数据(XML格式的),再使用XML解析器来解析Alexa返回的XML,得到Alexa排名或其它的数据。
Alexa接口
Alexa的XMLAPI接口是: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=jb51.net返回的数据如下:
<ALEXAVER="0.9"URL="jb51.net/"HOME="0"AID="ScELh1AI3f00az"IDN="jb51.net/"> <RLSPREFIX="http://"more="0"></RLS> <SDTITLE="A"FLAGS=""HOST="jb51.net"> <LINKSINNUM="1"/> </SD> <SD> <POPULARITYURL="jb51.net/"TEXT="7552101"SOURCE="panel"/> <REACHRANK="6342897"/> </SD> </ALEXA>
其中POPULARITY元素中的TEXT属性的值7552101就是Alexa排名。
代码实现:
用PHP实现通过AlexaAPI获取Alexa排名的代码为:
<php> functiongetAlexaRank($Domain){ $line=""; $data=""; $URL="http://data.alexa.com/data/?cli=10&dat=snba&url=".$Domain; $fp=fopen($URL,"r"); if($fp){ while(!feof($fp)){ $line=fgets($fp); $data.=$line; } $p=xml_parser_create(); xml_parse_into_struct($p,$data,$vals); xml_parser_free($p); for($i=0;$i<count($vals);$i++){ if($vals[$i]["tag"]=="POPULARITY"){ return $vals[$i]["attributes"]["TEXT"]; } } } } ?>
使用方法:
<?php echogetAlexaRank("jb51.net"); ?>