为什么Alexa API突然停止在我的实时服务器上工作?

时间:2018-07-11 04:59:55

标签: php api alexa

我正在PHP中使用Alexa API来获取网站排名。该API几天前运行良好,但昨天突然停止工作。该API似乎没有给我想要的输出,只有错误。

我的工作与帖子Fetching Alexa data相关。我有些怀疑是否会超出给定的限制(每天25K,但不确定;我在其他地方听到了)。但是我也怀疑我们不能消耗如此大量的请求。

API代码在我的本地主机上正常运行,没有任何问题。因此,我想Amazon / Alexa可能阻止了我的实时服务器IP。他们可以吗?还有哪些其他替代方法可以使用Alexa API?最糟糕的是,目前网上没有可用的文档。如何使它在实时服务器上再次工作?

我的API代码如下:

// Get Alexa Data       
$url = "http://data.alexa.com/data?cli=10&dat=snbamz&url=" . $domain;
$response = simplexml_load_file($url);

// If you don't know when/where <POPULARITY> may be, you should use XPath to find it
//$popularity = $response->xpath("//SD/POPULARITY")[0];
// It will return a list of SimpleXMLElements,
$response_array = $response->xpath("//SD[POPULARITY]")[0];

$alexa = json_decode(json_encode($response_array), true);

echo "<pre>";
print_r($alexa);
echo "</pre>";

$global_rank = isset($alexa['POPULARITY']['@attributes']['TEXT']) ? number_format($alexa['POPULARITY']['@attributes']['TEXT']) : "N/A";
$country_rank = isset($alexa['COUNTRY']['@attributes']['RANK']) ? number_format($alexa['COUNTRY']['@attributes']['RANK']) : "N/A";
$country = isset($alexa['COUNTRY']['@attributes']['NAME']) ? $alexa['COUNTRY']['@attributes']['NAME'] : "N/A";

我只得到“ N / A”和Notice: Undefined offset: 0 in...

0 个答案:

没有答案