我們通會用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=jb51.net返回的數據如下:
復制代碼 代碼如下:
<ALEXA VER="0.9" URL="jb51.net/" HOME="0" AID="ScELh1AI3f00az" IDN="jb51.net/">
<RLS PREFIX="http://" more="0"></RLS>
<SD TITLE="A" FLAGS="" HOST="jb51.net">
<LINKSIN NUM="1"/>
</SD>
<SD>
<POPULARITY URL="jb51.net/" TEXT="7552101" SOURCE="panel"/>
<REACH RANK="6342897"/>
</SD>
</ALEXA>
其中POPULARITY元素中的TEXT屬性的值7552101就是Alexa排名。
代碼實現:
用PHP實現通過Alexa API 獲取Alexa排名的代碼為:
復制代碼 代碼如下:
<php>
function getAlexaRank ($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
echo getAlexaRank("jb51.net");
?>