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


Posted in PHP onJune 12, 2014

我们通会用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=3water.com返回的数据如下:

<ALEXA VER="0.9" URL="3water.com/" HOME="0" AID="ScELh1AI3f00az" IDN="3water.com/">
<RLS PREFIX="http://" more="0"></RLS>
<SD TITLE="A" FLAGS="" HOST="3water.com">
<LINKSIN NUM="1"/>
</SD>
<SD>
<POPULARITY URL="3water.com/" 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("3water.com");
?>
PHP 相关文章推荐
做一个有下拉功能的留言版
Oct 09 PHP
PHP实现图片简单上传
Oct 09 PHP
php 不同编码下的字符串长度区分
Sep 26 PHP
PHP 循环列出目录内容的函数代码
May 26 PHP
CI框架中通过hook的方式实现简单的权限控制
Jan 07 PHP
java模拟PHP的pack和unpack类
Apr 13 PHP
基于php实现的php代码加密解密类完整实例
Oct 12 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
thinkphp框架类库扩展操作示例
Nov 26 PHP
实例讲解PHP表单
Jun 10 PHP
PHP7 错误处理机制修改
Mar 09 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
Jun 12 #PHP
Codeigniter生成Excel文档的简单方法
Jun 12 #PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
Jun 12 #PHP
让CodeIgniter数据库缓存自动过期的处理的方法
Jun 12 #PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
Jun 12 #PHP
CodeIgniter启用缓存和清除缓存的方法
Jun 12 #PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
Jun 12 #PHP
You might like
php mysql数据库操作类
2008/06/04 PHP
ThinkPHP3.1数据CURD操作快速入门
2014/06/19 PHP
WampServer搭建php环境时遇到的问题汇总
2015/07/23 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
js 格式化时间日期函数小结
2010/03/20 Javascript
angularJS 中$scope方法使用指南
2015/02/09 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
2015/08/31 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
node.js学习之断言assert的使用示例
2017/09/28 Javascript
详解Axios统一错误处理与后置
2018/09/26 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
python实现将元祖转换成数组的方法
2015/05/04 Python
Python实现的简单hangman游戏实例
2015/06/28 Python
浅析Python中yield关键词的作用与用法
2016/11/29 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
答题辅助python代码实现
2018/01/16 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
aws 通过boto3 python脚本打pach的实现方法
2020/05/10 Python
HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例
2015/04/24 HTML / CSS
日本小田急百货官网:Odakyu
2018/07/19 全球购物
俄罗斯女装店:12storeez
2019/10/25 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
值传递还是引用传递
2015/02/08 面试题
外语专业毕业生自我评价分享
2013/10/05 职场文书
信息专业个人的自我评价
2013/12/27 职场文书
如何写自我鉴定
2014/03/19 职场文书
关于责任的演讲稿
2014/05/20 职场文书
民主生活会对照检查材料范文
2014/10/01 职场文书
教师专业技术工作总结2015
2015/05/13 职场文书
奖学金主要事迹范文
2015/11/04 职场文书
GitHub上77.9K的Axios项目有哪些值得借鉴的地方详析
2021/06/15 Javascript
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL