Четверг , 28 Март 2024
ДомойПубликацииphp: получение значения alexa и dmoz

php: получение значения alexa и dmoz

php

логическим продолжением предыдущих постов является получение параметра 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(), но я убеждён, что при прочих равных с массивами работать проще и понятнее.

Рейтинг: 0

Автор публикации

2 070
не в сети 11 месяцев

x64 (aka andi)

Комментарии: 2893Публикации: 405Регистрация: 02-04-2009
Так себеНеплохоХорошоЗамечательноСупер! (Оценок пока нет)
Загрузка...

Оставить комментарий

Политика конфиденциальности

Наш сайт использует файлы cookies, чтобы улучшить работу и повысить эффективность сайта. Продолжая работу с сайтом, вы соглашаетесь с использованием нами cookies и политикой конфиденциальности.

Принять