0

你好,我有一个网站从 alexa bat 获取数据,因为两三天后它没有返回任何东西我不知道 alexa 是否改变了某些东西或......

我已经练习了一些代码,所以我请alexa专家指导我

我希望任何人有一些帮助

<?
$url='toolspot.org';
$xml = simplexml_load_file('http://data.alexa.com/data?cli=10&dat=snbamz&url='.$url);
$rank=isset($xml->SD[1]->POPULARITY)?$xml->SD[1]->POPULARITY->attributes()->TEXT:0;
$web=(string)$xml->SD[0]->attributes()->HOST;
echo $web." has Alexa Rank ".$rank;
?>

第二个代码

<?php

class Get_Alexa_Ranking{

    /**
     * Get the rank from alexa for the given domain
     * 
     * @param $domain
     * The domain to search on
     */
    public function get_rank($domain){

        $url = "http://data.alexa.com/data?cli=10&dat=snbamz&url=".$domain;

        //Initialize the Curl  
        $ch = curl_init();  

        //Set curl to return the data instead of printing it to the browser.  
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
        curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2); 

        //Set the URL  
        curl_setopt($ch, CURLOPT_URL, $url);  

        //Execute the fetch  
        $data = curl_exec($ch);  

        //Close the connection  
        curl_close($ch);  

        $xml = new SimpleXMLElement($data);  

                //Get popularity node
        $popularity = $xml->xpath("//POPULARITY");

                //Get the Rank attribute
        $rank = (string)$popularity[0]['TEXT']; 

        return $rank;
    }

}
?>
    //Include alexa ranking class
require_once 'get_alexa_ranking.php';

//Create a new object
$alexa = new Get_Alexa_Ranking();

//Get the rank for the domain paulund.co.uk
echo "Rank ".$alexa->get_rank("elhawd.com");
4

4 回答 4

0

我遇到了同样的问题。我现在工作正常,你可以测试一下: http ://data.alexa.com/data?cli=10&dat=snbamz&url=stackoverflow.com

于 2016-03-14T09:17:06.397 回答
0

我认为这只是一个暂时的问题,现在它又回来了

维护 elle March 成功

الآن تشتغل

于 2016-03-14T08:01:44.800 回答
0

我正在使用他们的 API 服务(访问 Alexa 数据的正确方法),并且自 3 月 13 日以来它停止返回数据。我希望这只是暂时的,因为包括亚马逊 AWS 在内的相关网站上没有发布任何有关更改的信息。

14/03 更新:API 方法也已修复。

于 2016-03-14T00:42:14.840 回答
0

似乎 Alexa 不再返回流量数据。

我检查了几个域,有人返回错误,有人返回一些没有流量号码的数据。

示例: http ://data.alexa.com/data?cli=10&dat=snbamz&url=terra.com 返回:

<!--
 Need more Alexa data?  Find our APIs here: https://aws.amazon.com/alexa/ 
-->
<ALEXA VER="0.9" URL="terra.com/" HOME="0" AID="=" IDN="terra.com/">
<RLS PREFIX="http://" more="0">
<RL HREF="univision.com/" TITLE="Univision"/>
<RL HREF="terra.es/" TITLE="Terra"/>
<RL HREF="terra.com.pr/" TITLE="Terra - Informaci&oacute;n Para Hispanos, Noticias En Espa&ntilde;ol, Mu"/>
<RL HREF="terra.com.pe/" TITLE="Terra"/>
<RL HREF="terra.com.mx/" TITLE="Terra México"/>
<RL HREF="terra.com.gt/" TITLE="Terra Guatemala"/>
<RL HREF="terra.com.co/" TITLE="Terra Networks Colombia"/>
<RL HREF="terra.com.ar/" TITLE="Terra Argentina"/>
<RL HREF="telemundo.com/" TITLE="Telemundo"/>
<RL HREF="pronto.com/" TITLE="Pronto Progress"/>
</RLS>
<SD TITLE="A" FLAGS="" HOST="terra.com">
<TITLE TEXT="Terra"/>
<OWNER NAME="Terra Network, S.A."/>
</SD>
</ALEXA>

我认为解决方案是为这些数据支付 alexa

于 2016-03-12T10:26:00.833 回答