PHP通过XML获取Alexa排名

很多时候,我们需要向网站的访客、广告商,特别是个体的潜在广告客户展示我们网站的排名、PR等信息,对于不愿意通过javascript去调用其他网站的站长来说,有比较快的一条捷径可以快速调用Alexa排名。

通过Alexa XML API 获取网站的Alexa相关的数据(XML格式的),再使用XML解析器来解析Alexa返回的XML,得到Alexa排名或其它的数据。

示例接口连接:http://data.alexa.com/data/?cli=10&url=http://zhuweisheng.com.cn

通过php查询xml特定的标签ALEXA>SD>POPULARITY>[TEXT] 路径,获取匹配的数字,就是我们需要的Alexa排名数字了。

Alexa的XML API接口是:http://data.alexa.com/data?cli=10&url=这里填写你的域名

碎碎念度娘了很久,总算找到了这样的一段有效代码,输出的是纯粹的文字,不会带有后面的SOURCE="panel"这段令人心烦的小尾巴。

alexa

注:此段代码来源于网络,经验证可用,本文仅作记录。

实现代码

<span>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"];
          }
         }
        }
  }
  echo getAlexaRank("zhuweisheng.com.cn");
?>
</span>

参考来源:http://xiangtyee.com/archives/344.html

NOOLDEY

本文作者:NOOLDEY

做一个诗情画意的码农,皮皮猪,我们走!

原文链接: http://zhuweisheng.com.cn/wordpress/get-alexa-rank/

本站文章如无特殊声明均为原创,创作不易,转载请注明来源,谢谢!