логическим продолжением предыдущих постов является получение параметра alexa, не особо известному у нас, но достаточно распространённый на западе. «продуктом побочной переработки» является возможность получить адрес на сайте dmoz, где находится описание сайта (при условии, что сайт в каталоге присутствует).
сразу приведу код:
<?php
/**
* Перевод json-объекты в массивы, для удобства
*/
function object2array($object) {
return @json_decode(json_encode($object), 1);
}
/**
* Получить Alexa-Rank и путь к описанию ресурса в DMOZ
*/
function get_alexarank($domain) {
$url = 'http://data.alexa.com/data?cli=10&dat=n&url=' . $domain;
$buf = file_get_contents($url);
$xml = object2array(simplexml_load_string($buf));
$alexarank = isset($xml['SD']['POPULARITY']['@attributes']['TEXT'])
? (int) $xml['SD']['POPULARITY']['@attributes']['TEXT'] : '';
$dmoz = isset($xml['DMOZ']['SITE']['CATS']['CAT']['@attributes']['ID'])
? 'http://www.dmoz.org/'
. $xml['DMOZ']['SITE']['CATS']['CAT']['@attributes']['ID'] : '';
return array($alexarank, $dmoz);
}
$domain = 'google.ru';
$arr = get_alexarank($domain);
print_r($arr);
/*
Array
(
[0] => 43
[1] => http://www.dmoz.org/Top/…ПУТЬ…/Google
)
*/
в общем-то, ничего особо сложного нет, равно как нечего и комментировать. для кого-то спорным моментом может быть вызов функции object2array(), но я убеждён, что при прочих равных с массивами работать проще и понятнее.
днём интернета
шоколадкой для работы мозга
коробочкой ароматного чая для бодрости
продлением хостинга на +1 месяц