欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-11 23:57:58
我们通会用alexa的网站(或其它站长工具网站)来栓查我们的网​站流量排名,这样就必须去那些网站。实际上,可以通过alexa xml api 获取网站的alex...

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

上一篇:

下一篇: