В этой статье мы расскажем о том, как написать функцию для получения тематического индекса цитирования (он же тИЦ) самой популярной поисковой системы Yandex.
Прежде всего, пару слов об индексе цитирования. ИЦ — это некоторый численный показатель ссылочной популярности (ссылочной цитируемости) страницы. ИЦ подсчитываются поисковыми системами для дальнейшего использования в алгоритмах ранжирования результатов. Yandex ТИЦ — тематический индекс цитирования, особенностью которого является то, что он рассчитывается по отношению к тематически близким ресурсам.
Итак, вариантов реализации поставленной задачи наверняка существует немало, однако мы будем использовать в работе нашего скрипта Яндекс.Бар, а верней его собственный метод определения тИЦ.
Зайдем по ссылке: http://bar-navig.yandex.ru/u?ver=2&show=32&url=ice-studio.com.ua.
Получим:
[box type=»shadow» align=»» class=»» width=»»]<?xml version=»1.0″ encoding=»windows-1251″ ?>
— <urlinfo>
— <url domain=»ice-studio.com.ua»>
— <![CDATA[
/
]]>
</url>
<tcy rang=»4″ value=»150″ />
<topics />
<textinfo />
</urlinfo>[/box]
Число, которое нам нужно – это значение value в этой строке <tcy rang=»4″ value=»150″ />. То есть наша задача решается, если мы напишем код, который будет успешно парсить подобные страницы, получая значение value, которое будет давать нам тИЦ сайта, url которого передан как параметр в get-запросе.
Я надеюсь, что адрес на мануал по PHP известен каждому (php.net, если для кого-то это было секретом), поэтому сразу же приведем функцию, которая получает в качестве параметра url вида http://hoster.od.ua (не важное, есть ли в конце слеш) и возвращает значение тИЦ.
[box type=»shadow» align=»» class=»» width=»»]<?
function getTIC($url)
{
$str=file(‘http://bar-navig.yandex.ru/u?ver=2&show=32&url=’.$url);
if ($str==false)
{
$ans=false;
}
else
{
$is_find=preg_match(«/value=\»(.\d*)\»/», join(«»,$str), $tic);
if ($is_find<1)
{
$ans=0;
}
else
{
$ans=$tic[1];
}
}
return $ans;
}[/box]
Закончим наши изыски созданием небольшой формы, которая будет запрашивать url и выдавать тИЦ сайта при нажатии кнопки.
[box type=»shadow» align=»» class=»» width=»»]<?
echo <<< EOT
<u>Введите ссылку на страницу, тИЦ которой вы хотите определить</u>
<FORM method=post>
<INPUT class=inpt maxLength=60 size=40 name=url value=’http://’>
<INPUT type=submit name=send_request value=Определить><br>
EOT;
if ($_POST[‘send_request’])
{
$url=$_POST[‘url’];
$tic=getTIC($url);
echo <<< EOT
<br><b>Анализ $url</b>:<br>
<b>тИЦ</b>: $tic
EOT;
}
?>[/box]
Выглядеть, все это дело будет следующим образом: http://ice-studio.com.ua/seo/tic.php.