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 相关文章推荐
PHP编程中八种常见的文件操作方式
Nov 19 PHP
帖几个PHP的无限分类实现想法~
Jan 02 PHP
How do I change MySQL timezone?
Mar 26 PHP
PHP 类商品秒杀计时实现代码
May 05 PHP
解析PHP中$_FILES的使用以及注意事项
Jul 05 PHP
php抓取并保存网站图片的实现代码
Oct 28 PHP
分享php邮件管理器源码
Jan 06 PHP
CI框架无限级分类+递归的实现代码
Nov 01 PHP
php获取flash尺寸详细数据的方法
Nov 12 PHP
php实现base64图片上传方式实例代码
Feb 22 PHP
PHP基于递归算法解决兔子生兔子问题
May 11 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
May 23 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+jQuery实现发布微博程序 jQuery篇
2011/10/08 PHP
php数组去重的函数代码
2013/02/03 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
PHP命名空间(namespace)原理与用法详解
2019/12/11 PHP
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
javascript 文档的编码问题解决
2009/03/01 Javascript
这段js代码得节约你多少时间
2011/12/20 Javascript
js判断IE浏览器版本过低示例代码
2013/11/22 Javascript
Jquery 获取对象的几种方式介绍
2014/01/17 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
浅谈javascript对象模型和function对象
2014/12/26 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
详解Vue 方法与事件处理器
2017/06/20 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
python ElementTree 基本读操作示例
2009/04/09 Python
python使用PIL缩放网络图片并保存的方法
2015/04/24 Python
浅谈Python类的__getitem__和__setitem__特殊方法
2016/12/25 Python
详解python读取和输出到txt
2019/03/29 Python
python操作ini类型配置文件的实例教程
2020/10/30 Python
Pytorch实验常用代码段汇总
2020/11/19 Python
HTML5无刷新改变当前url的代码
2017/03/15 HTML / CSS
浅析HTML5页面元素及属性
2021/01/20 HTML / CSS
ZWILLING双立人英国网上商店:德国刀具锅具厨具品牌
2018/05/15 全球购物
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
成品仓管员岗位职责
2013/12/11 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
谢师宴邀请函
2015/02/02 职场文书
2016应届毕业生实习心得体会
2015/10/09 职场文书
Python中快速掌握Data Frame的常用操作
2021/03/31 Python
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang
豆瓣2021评分最高动画剧集-豆瓣评分最高的动画剧集2021
2022/03/18 日漫
vue递归实现树形组件
2022/07/15 Vue.js