Posted in PHP onJune 12, 2014
我们通会用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=3water.com返回的数据如下:
<ALEXA VER="0.9" URL="3water.com/" HOME="0" AID="ScELh1AI3f00az" IDN="3water.com/"> <RLS PREFIX="http://" more="0"></RLS> <SD TITLE="A" FLAGS="" HOST="3water.com"> <LINKSIN NUM="1"/> </SD> <SD> <POPULARITY URL="3water.com/" 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("3water.com"); ?>
PHP使用Alexa API获取网站的Alexa排名例子
- Author -
junjie声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@