Приветствую Вас, гости и подписчики блога 4remind.ru. Многие из Вас думаю знают, что в настоящее время существует много веб-ресурсов (сервисы, сайты, социальные сети и так далее), которые предоставляют различные данные в формате XML. В этих данных, к примеру, может быть различная статистика, списки и цены товаров интернет магазинов, каталоги видео, литературы и многое другое. Все это конечно хорошо и во многом полезно, но к сожалению вид документа, информации в формате XML абсолютно неудобен для восприятия, особенно когда он очень объемный.
В данной статье я приведу пример PHP-скрипта, с помощью которого можно получить в удобном для чтения виде относительно небольшую, но в то же время полезную для вэбмастеров статистику с популярного сервиса Solomono.ru
(xml.solomono.ru).
Для работы с XML мы будем использовать расширение SimpleXML
, которое входит в состав PHP с версии 5 и позволяет с помощью PHP-скрипта обрабатывать (искать, запрашивать, изменять) XML документы, поэтому нам не придется ломать голову и писать свой парсер для разбора XML. Расширение SimpleXML установлено в PHP по умолчанию и доступно практически на каждом хостинге.
Для получения статистики с сервиса Solomono.ru нужно подставить в запрос в параметр URL
адрес целевого сайта, например Mail.ru:
http://xml.solomono.ru/?url=http://mail.ru
В результате мы получим примерно такие данные в формате XML:
mail.ru 6 1 7 4411749 41349 72 49 20455 55 11428916/29314585
Данных не много, но они неудобны они для восприятия, правда?
Так давайте создадим PHP-скрипт с использованием расширения SimpleXML и выведем данные в удобном виде.
Но для начала ознакомимся с назначением тэгов XML сервиса xml.Solomono.ru
:
-
host
- имя хоста (сайта), для которого выводятся данные; -
index
- количество проиндексированных страниц (date - дата последнего обновления); -
mr
- количество зеркал домена; -
ip
- количество доменов на том же IP; -
hin
- количество ссылок на домен (l1, l2, l3, l4 - данные по уровням вложенности); -
din
- количество доноров (l1, l2, l3, l4 - данные по уровням вложенности); -
hout
- исходящие (внешние) ссылки домена (l1, l2 и т.д. - данные по уровням вложенности); -
dout
- количество получателей (доменов, на которые ссылается данный хост); -
anchors
- количество найденных анкоров; -
anchors_out
- количество исходящих анкоров; -
igood
- соотношение iGood доноров;
Для тех, кто не знает, что такое igood
, привожу объяснение:
iGood
служит значением более качественной оценки сайтов-доноров. Первая сумма — сумма din
(смотрите описание выше) всех доноров сайта. Вторая сумма — сумма dout
(смотрите описание выше) всех доноров.
Если к примеру на site01.ru ссылается 1000 сайтов, то его din = 1000
, затем суммируются показатели din и dout этих 1000 сайтов. Получается, к примеру, такие значения 10000 и 150000. Это значит, что на доноров сайта site01.ru ссылается 10000 сайтов, а те сами ссылаются на 150000 сайтов. В итоге iGood
для сайта site01.ru будет равен 10000/150000.
Ну а теперь сам PHP-скрипт, при помощи которого получим данные о внешних ссылках и донорах для сайта Mail.ru:
'; echo ' Данные сервиса Solomono.ru
'; echo '=============================
'; echo 'Сайт: ' . $xml->host . '
'; // хост, сайт echo 'Страниц в индексе: ' . $xml->index . ' на ' . $xml->index[date] . '
'; //кол-во проиндексированных страниц и дата последнего обновления echo 'Количество зеркал домена: ' . $xml->mr . '
'; // кол-во зеркал домена echo 'Доменов на том же IP: ' . $xml->ip . '
'; //кол-во доменов на том же IP echo 'Количество ссылок на домен: ' . $xml->hin . ' (УВ1: ' . $xml->hin[l1] . ', УВ2: ' . $xml->hin[l2] . ', УВ3: ' . $xml->hin[l3] . ', УВ4: ' . $xml->hin[l4]. ')
'; // кол-во ссылок на домен echo 'Количество доноров: ' . $xml->din . ' (УВ1: ' . $xml->din[l1] . ', УВ2: ' . $xml->din[l2] . ', УВ3: ' . $xml->din[l3] . ', УВ4: ' . $xml->din[l4]. ')
'; // кол-во доноров echo 'Исходящие (внешние) ссылки домена: ' . $xml->hout . ' (УВ1: ' . $xml->hout[l1] . ', УВ2: ' . $xml->hout[l2] . ', УВ3: ' . $xml->hout[l3] . ', УВ4: ' . $xml->hout[l4]. ')
'; // исходящие (внешние) ссылки домена echo 'Количество получателей (доменов, на которые ссылается данный хост): ' . $xml->dout . '
'; // кол-во получателей (доменов, на которые ссылается данный хост) echo 'Количество найденных анкоров: ' . $xml->anchors . '
'; // кол-во найденных анкоров echo 'Количество исходящих анкоров: ' . $xml->anchors_out . '
'; // кол-во исходящих анкоров echo 'iGood доноров: ' . $xml->igood . '
'; // iGood доноров ?>
В результате полученная статистика в формате XML, обработанная вышеуказанным скриптом при помощи PHP-расширения SimpleXML, будет теперь выглядеть примерно так:
Для улучшения внешнего вида, форматирования, можно конечно же добавить стили CSS, а для получения данных о другом сайта, например о вашем собственном, нужно всего лишь заменить значение в переменной $mysite
.
При желании, Вы можете создать форму на своем сайте, и используя указанный скрипт, можно создать свой собственный мини-сервис.
Желаю вашим сайтам хорошей положительной статистики, и до новых встреч на страницах блога 4remind.ru
Метки: PHP, SimpleXML, XML, сервис, статистика
Хе… проверил свои сайты с помощью вашего скрипта, и по сравнению с mail.ru они вообще ничтожны :) Впечатляет у них особенно количество iGood доноров :)
Однако спасибо за скрипт! Про сервис xml на solomono я и не знал, за что тоже спасибо!