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");
?>