經過Alexa API獲取Alexa排名

咱們通會用Alexa的網站(或其它站長工具網站)來栓查咱們的網​站流量排名,這樣就必須去那些網站。實際上,能夠經過Alexa XML API 獲取網站的Alexa相關的數據(XML格式的),再使用XML解析器來解析Alexa返回的XML,獲得Alexa排名或其它的數據。 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=xiangtyee.com返回的數據以下: [xml] <ALEXA VER="0.9" URL="xiangtyee.com/" HOME="0" AID="ScELh1AI3f00az" IDN="xiangtyee.com/">     <RLS PREFIX="http://" more="0"></RLS>     <SD TITLE="A" FLAGS="" HOST="xiangtyee.com">         <LINKSIN NUM="1"/>     </SD>     <SD>         <POPULARITY URL="xiangtyee.com/" TEXT="7552101" SOURCE="panel"/>         <REACH RANK="6342897"/>     </SD> </ALEXA> [/xml] 其中POPULARITY元素中的TEXT屬性的值7552101就是Alexa排名。

代碼實現

用PHP實現經過Alexa API 獲取Alexa排名的代碼爲: [php] <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("xiangtyee.com"); ?> [/php]

參考

http://code.google.com/p/seostats/ http://tutology.net/category/how-php/get-alexa-rank-php-and-alexa-api
相關文章
相關標籤/搜索