В этой статье мы расскажем о том, как написать функцию для получения тематического индекса цитирования (он же тИЦ) самой популярной поисковой системы Yandex.
Прежде всего, пару слов об индексе цитирования. ИЦ - это некоторый численный показатель ссылочной популярности (ссылочной цитируемости) страницы. ИЦ подсчитываются поисковыми системами для дальнейшего использования в алгоритмах ранжирования результатов. Yandex ТИЦ - тематический индекс цитирования, особенностью которого является то, что он рассчитывается по отношению к тематически близким ресурсам.
Итак, вариантов реализации поставленной задачи наверняка существует немало, однако мы будем использовать в работе нашего скрипта Яндекс.Бар, а верней его собственный метод определения тИЦ.
Зайдем по ссылке: http://bar-navig.yandex.ru/u?ver=2&show=32&url=ice-studio.com.ua.
Получим:
Число, которое нам нужно – это значение 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;
}
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;
}
?>