0

こんにちは、アレクサバットからデータを取得するウェブサイトがあります。2、3 日後に何も返されないため、アレクサが何かを変更したかどうかはわかりません...

私がトレースしたコードの一部なので、アレクサの専門家に案内してもらいます

誰でも助けてくれることを願っています

<?
$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;
?>

2 番目のコード

<?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

私は彼らの API サービス (Alexa データにアクセスする適切な方法) を使用していますが、3 月 13 日以降、データが返されなくなりました。Amazon AWS を含む関連サイトには変更について何も掲載されていないため、これが一時的なものであることを願っています。

Update 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>

解決策は、このデータに対してアレクサに支払うことだと思います

于 2016-03-12T10:26:00.833 に答える