PHP-класс для работы с AlexaRank
PHP-класс для работы с AlexaRank
В этой статье рассмотрим PHP-класс для работы с рейтингом сайтов по версии . AlexaRank предоставляет много информации о сайтах, но самой интересной является:- Популярность (один из самых главных)
- Доступность
- Ссылки на сайт
- Скорость
Версия кода для PHP4:
/* the alexa rank class */
class alexa
{
/* initial vars */
var $xml;
var $values;
var $alexa_address;
/* the constructor */
function alexa($alexa_address,$domain)
{
$this->alexa_address = $alexa_address;
$this->xml = $this->get_data($domain);
$this->set();
}
/* gets the xml data from Alexa */
function get_data($domain)
{
$url = $this->alexa_address.'http://'.$domain;
$xml = file_get_contents($url);
return $xml;
}
/* set values in the XML that we want */
function set()
{
$this->values['rank'] = (preg_match('/POPULARITY URL="[a-z0-9-./]{1,}" TEXT="([0-9]{1,12})"/',$this->xml,$regs) ? number_format($regs[1]) : 0);
$this->values['reach'] = (preg_match('/REACH RANK="([0-9]{1,12})"/',$this->xml,$regs) ? number_format($regs[1]) : 0);
$this->values['linksin'] = (preg_match('/LINKSIN NUM="([0-9]{1,12})"/',$this->xml,$regs) ? number_format($regs[1]) : 0);
}
/* returns the requested value */
function get($value)
{
return (isset($this->values[$value]) ? $this->values[$value] : '"'.$value.'" does not exist.');
}
}
Версия кода для PHP5:
/* the alexa rank class */
class alexa
{
/* initial vars */
var $xml;
var $values;
var $alexa_address;
/* the constructor */
function alexa($alexa_address,$domain)
{
$this->alexa_address = $alexa_address;
$this->xml = $this->get_data($domain);
$this->set();
}
/* gets the xml data from Alexa */
function get_data($domain)
{
$url = $this->alexa_address.'http://'.$domain;
$xml = simplexml_load_file($url) or die('Cannot retrieve feed');
return $xml;
}
/* set values in the XML that we want */
function set()
{
$this->values['rank'] = ($this->xml->SD->POPULARITY['TEXT'] ? number_format($this->xml->SD->POPULARITY['TEXT']) : 0);
$this->values['reach'] = ($this->xml->SD->REACH['RANK'] ? number_format($this->xml->SD->REACH['RANK']) : 0);
$this->values['linksin'] = ($this->xml->SD->LINKSIN['NUM'] ? number_format($this->xml->SD->LINKSIN['NUM']) : 0);
}
/* returns the requested value */
function get($value)
{
return (isset($this->values[$value]) ? $this->values[$value] : '"'.$value.'" does not exist.');
}
}
Использование CURL:
Если вы до этого использовали CURL, то можно переписать функцию get_data():
/* gets the xml data from Alexa */
function get_data($domain)
{
$url = $this->alexa_address.'http://'.$domain;
$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$xml = curl_exec($ch);
curl_close($ch);
return $xml;
}
Использование:
/* retrieve & display rank */
$alexa_connector = new alexa('http://alexa.com/xml/dad?url=','devoid.com.ua'); // domain only!
echo 'Rank :: '.$alexa_connector->get('rank'); // returns 118
echo '';
echo 'Reach :: '.$alexa_connector->get('reach'); // returns 95
echo '';
echo 'Links In :: '.$alexa_connector->get('linksin'); // returns 34,414
Информация о статье "PHP-класс для работы с AlexaRank"
DeVoid |
http://devoid.com.ua/ |
14 Декабря 2007 |
Просмотрели 2439 раз
КОММЕНТАРИИ (3)
17 Августа 2009 19:28:13 |
#
Капец какой-то... Комментарий улетел за границы сайта ??? Проверьте, пожалуйста.
9 Ноября 2009 18:47:10 |
#
Данный скрипт бессовестно стырин отсюда: http://davidwalsh.name/php-alexa-rank-fetcher-xml
Он уже давно не работает. Администрация, видимо, дилетанты, как впрочем, и все остальные в рунете - только тырить чужое умеют :( Хоть бы иногда кто здесь комментарии читал... :(
Зарегистрируйтесь или выполните Вход для того чтобы оставлять комментарии
Не менее интересно
- Измерение скорости работы скрипта
- PHP и array_map. Использование обратных вызовов массивов
- sscanf - сканирование форматированных строк в PHP
- Как узнать размер базы данных MySQL через PHP
- Получение реального IP-адреса пользователя в РНР
- Создание Rollover Image с использованием CSS
- Сжатие XHTML страниц с использованием PHP Output Buffers
- PHP и его история
- Как верстать сайт? Шаблонная вёрстка сайта
- Коды ответов HTTP-сервера



Вставил код, как указано, выдает ошибку...
http://alexa.com/xml/dad?url=http://isle-blog.ru" - нет такого адреса. Вы бы не могли готовый файлик выложить данного примера, чтоб можно было просто заинклюдить в шаблон темы?