A-A+
PHP使用Alexa API获取网站的Alexa排名例子
这篇文章主要介绍了PHP使用Alexa API获取网站的Alexa排名例子,需要的朋友可以参考下。
我们通会用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="kexuesw520.com/" HOME="0" AID="ScELh1AI3f00az" IDN="kexuesw520.com/">
- <RLS PREFIX="http://" more="0"></RLS>
- <SD TITLE="A" FLAGS="" HOST="jb51.net">
- <LINKSIN NUM="1"/>
- </SD>
- <SD>
- <POPULARITY URL="kexuesw520.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("kexuesw520.com");
- ?>