Скрипт определения тИЦ на PHP

В этой статье мы расскажем о том, как написать функцию для получения тематического индекса цитирования (он же тИЦ) самой популярной поисковой системы Yandex.

Прежде всего, пару слов об индексе цитирования. ИЦ - это некоторый численный показатель ссылочной популярности (ссылочной цитируемости) страницы. ИЦ подсчитываются поисковыми системами для дальнейшего использования в алгоритмах ранжирования результатов. Yandex ТИЦ - тематический индекс цитирования, особенностью которого является то, что он рассчитывается по отношению к тематически близким ресурсам.

Итак, вариантов реализации поставленной задачи наверняка существует немало, однако мы будем использовать в работе нашего скрипта Яндекс.Бар, а верней его собственный метод определения тИЦ.

Зайдем по ссылке: http://bar-navig.yandex.ru/u?ver=2&show=32&url=ice-studio.com.ua.

Получим:

<?xml version="1.0" encoding="windows-1251" ?>
- <urlinfo>
- <url domain="ice-studio.com.ua">
- <![CDATA[
/
]]>
</url>
<tcy rang="4" value="150" />
<topics />
<textinfo />
</urlinfo>

Число, которое нам нужно – это значение value в этой строке <tcy rang="4" value="150" />. То есть наша задача решается, если мы напишем код, который будет успешно парсить подобные страницы, получая значение value, которое будет давать нам тИЦ сайта, url которого передан как параметр в get-запросе.
Я надеюсь, что адрес на мануал по PHP известен каждому (php.net, если для кого-то это было секретом), поэтому сразу же приведем функцию, которая получает в качестве параметра url вида http://hoster.od.ua (не важное, есть ли в конце слеш) и возвращает значение тИЦ.

<?
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;
}

Закончим наши изыски созданием небольшой формы, которая будет запрашивать url и выдавать тИЦ сайта при нажатии кнопки.
<?
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;

}
?>

Выглядеть, все это дело будет следующим образом: http://ice-studio.com.ua/seo/tic.php.

Adblock
detector