当前位置: 移动技术网 > IT编程>开发语言>PHP > PHP使用Alexa API获取网站的Alexa排名例子

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

2019年03月24日  | 移动技术网IT编程  | 我要评论

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网