首页 > Web开发 > 详细

PHP使用Alexa API获取网站的Alexa排名例子

时间:2016-01-02 18:00:38      阅读:182      评论:0      收藏:0      [点我收藏+]

我们通会用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");
?>

PHP使用Alexa API获取网站的Alexa排名例子

原文:http://www.jb51.net/article/50979.htm

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!