当前位置:首页 > PHP教程 > php高级应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-02-13 11:25:01 浏览: 评论:0 

这篇文章主要介绍了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返回的数据如下:

  1. <ALEXA VER="0.9" URL="phpfensi.com/" HOME="0" AID="ScELh1AI3f00az" IDN="phpfensi.com/"
  2. <RLS PREFIX="http://" more="0"></RLS> 
  3. <SD TITLE="A" FLAGS="" HOST="jb51.net"
  4. <LINKSIN NUM="1"/> 
  5. </SD> 
  6. <SD> 
  7. <POPULARITY URL="phpfensi.com/" TEXT="7552101" SOURCE="panel"/> 
  8. <REACH RANK="6342897"/> 
  9. </SD> 
  10. </ALEXA> 

其中POPULARITY元素中的TEXT属性的值7552101就是Alexa排名。

用PHP实现通过Alexa API 获取Alexa排名的代码为:

  1. <php> 
  2. function getAlexaRank ($Domain){ 
  3.      $line = ""
  4.      $data = ""
  5.      $URL = "http://data.alexa.com/data/?cli=10&dat=snba&url="$Domain ; 
  6.      $fp = fopen ($URL ,"r"); 
  7.      if ($fp ){ 
  8.            while (!feof ($fp )){ 
  9.                 $line = fgets ($fp ); 
  10.                 $data .= $line ; 
  11.            } 
  12.            $p= xml_parser_create (); 
  13.            xml_parse_into_struct ($p , $data , $vals ); 
  14.            xml_parser_free ($p ); 
  15.            for ($i =0 ;$i <count ($vals );$i ++){ 
  16.   if ($vals [$i ]["tag"]=="POPULARITY"){ 
  17.       return  $vals [$i ]["attributes"]["TEXT"]; 
  18.   } 
  19.     } 
  20.       } 
  21. ?> 

使用方法:

  1. <?php 
  2.     echo getAlexaRank("phpfensi.com"); 
  3. ?> 

Tags: Alexa

分享到: