Существует несколько способов программной проверки тИЦ сайта.
Первый способ: загружать страницу Яндекс.Каталога http://search.yaca.yandex.ru/yca/cy/ch/www.manipulyator-77.ru/ (сайт перевозки бревен, тиц менее 10) и парсить контент для определения нужного параметра с помощью регулярных выражений.
Второй способ: загружать XML документ, предназначенный для Яндекс Бара по адресу: http://bar-navig.yandex.ru/u?ver=2&url=http://devaka.ru&show=1. В результате получаем ответ примерно следующего вида.
<urlinfo>
<url domain=“devaka.ru”><![CDATA[/]]></url>
<tcy rang=“3” value=“70”/>
<topics>
</topics>
<textinfo>
</textinfo>
</urlinfo>
Где параметр value тега tcy будет равен значению тИЦ.
Эти оба способа хороши, если количество проверяемых сайтов не большое. При частых запросах Яндекс может либо выдавать капчу, либо банить IP адрес на какое-то время. Однако, имеется также ещё один способ (возможно, не один).
Третий способ: использовать денежку яндекса. Например, для сайта автоаксессуаров – тиц равен 80.
На первый взгляд удивительно, однако, при наличии всех кнопок-денежек, мы имеем достаточно информации, чтобы не использовать декодеры капчи и быстро определять тИЦ для сайтов.
Допустим, у вас кнопки тИЦ лежат в отдельной директории “buttons”, тогда для определения тИЦ любого сайта, можно использовать следующий PHP скрипт:
# файл с урлами сайтов для проверки (если берем сайты из файла)
$websites_file = “myurls.txt”;# шаблон денежки яндекса
$cy_tpl = “http://yandex.ru/cycounter?%s”;$md5_hashes = array();
$files = glob(“buttons/*.gif”);
foreach($files as $file)
{
$md5 = md5_file($file);
$name = basename($file, “.gif”);# сохранение MD5 всех файлов в массив
# соответствие тиц и MD5 хеша
$md5_hashes[$md5] = $name;
}$websites = file($websites_file);
foreach($websites as $site)
{
$url = str_replace(“http://”, “”, trim($site));
if (!$url) continue;# определение имени домена
$slash_pos = strpos($url, ‘/’);
$domain = $slash_pos ? substr($url, 0, $slash_pos) : $url;# определение пути к денежке сайта
$cy_url = sprintf($cy_tpl, $domain);# чтение денежки с сервера яндекса
$fp = fopen($cy_url, “r”);
if ($fp)
{
$image = ‘’;
while(!feof($fp))
$image .= fread($fp, 1024);
fclose($fp);# определение MD5 полученной картинки
$md5 = md5($image);# а вот и искомый тиц!
$tic = $md5_hashes[$md5];
}
}
Задержку ставить не надо. Проверено на 5000 сайтах с сетевой картой 10 мб/с. Скорость проверки будет зависеть от скорости приема картинки тиц яндекса, но не менее 1 сайта в секунду.
Например, в бирже ссылок Sape на 31 янв. 2009-го года 181.822 сайта, проверить которые можно за минимум 50 часов в один поток, 5 часов в десять потоков и так далее, при увеличении скорости сети или количества потоков.
Скачать денежки Яндекса можно тут: cy.buttons.zip [258.57KB].
Спасибо Лебедеву за дизайн первых кнопочек.


18 Ответов
GogA
Январь 31, 2009 at 05:22
1А я два дня спрашиваю у народа скрипт массовой проверки тиц :)
Спасибо!
Devaka
Январь 31, 2009 at 07:28
2Я как чувствовал, что кому-то пригодится :-D
vvvirus
Февраль 2, 2009 at 13:00
3а есть джава скрипты, можете выложить? заранее спс
Devaka
Февраль 2, 2009 at 14:08
4vvvirus, что за “джава скрипты”? вроде о них речь не шла %)
Строитель
Февраль 4, 2009 at 23:45
5Спасибо! Кстати, сегодня в течении дня замечал глюки ТИЦа в баре. То прыгал на разных страницах(у сайта 70, иногда показывал 30) а потом через какое-то время вообще пропал. Думал всё, сайт в бан попал:) потом оказалось просто глюки
MABP
Февраль 8, 2009 at 03:41
6Во-во…
МД5 конечно хорошо, но даже при таком методе при массовой проверке можно получить банный венек либо для ip, либо для всей сети ip B)
Я Саповцем предлагал еще в июле 08 использовать мои алгоритмы и мои ресурсы для чеканья чего угодно, но их смутило(ли?) недопонимания алгоритма проверки B), при этом точность составляет 99,8%
Сеопультовцы, тоже резво изначально откликнулись на сотрудничество, но опять же их видимо смутило недопонимание (выдержка из последнего письма) – они мне:
Можем ли мы размещать у вас наши чекеры? На какой трафик входящий\исходящий
мы смогли бы рассчитывать? Сколько это разных айпи? Какие ваши условия по
запросам (чтобы из-за нас айпишники не попали в бан).
А, может быть, у вас просто C-подсети есть не занятые?
а теперь я им:
у меня координально отличный способ органицации раздачи заданий от
сервера до чекеров, при этом я о чекере знаю только IP и не более
ограничения по трафику у меня нет, а то что творится у чекеров – меня
обсолютно не беспокоит
все чекеры имеют разные ip – 2 одинаковым ip запрещается работать с
сервером одновременно
у чекера есть автопроверка на бан от ПС – если он в бане, то он не
получит задание
И фсё… Больше от них писем не было. Вообщем ситуёвина один-в-один как с Саповцами…. как только тема не спалена, то и ответов от администрации не дождёшся :-(
ravist
Март 11, 2009 at 18:16
7Что-то не получается проверить. Выдает ошибку:
$fp = fopen($cy_url, “r”);Fatal error: Maximum execution time of 30 seconds exceeded in X:\home\localhost\www\CY\CY.php on line 34
Строка 34 – это:
Т.е. не может прочитать денежку с яндекса. Вручную пробую прочитать – все ок.
Devaka
Март 11, 2009 at 22:44
8ravist, проверьте, загружаются ли “денежки” с того сервера, на котором запускаете скрипт и можно ли открывать удаленные (на отдаленном сервере, всмысле) файлы функцией fopen (см. php.ini).
Если не найдете решения, читайте маны по php или спрашивайте на соответствующих форумах.
xron
Апрель 6, 2009 at 08:40
9А как результаты записать в файл? Программист я никакой, получается вот такой строкой выходит только последний урл file_put_contents(“tic.txt”,$site.” | “.$tic)
greycoder
Май 13, 2009 at 11:04
10А с какого кол-ва банить начинают? Никто не проверял? Просто я проверил максимум тысяч 40 сайтов на ТИЦ и вроде ниче – не забанило.
Devaka
Май 13, 2009 at 11:14
11greycoder, по третьему методу пока что не банят )
фотограф
Июнь 2, 2009 at 14:04
12а каким образом можно ставить задержку, чтобы временно не забанили ip и не вылетала капча? хочется полной автоматизации
Igor
Ноябрь 28, 2009 at 01:11
13У меня всё получилось, Ура! Теперь кучу времени можно сэкономить. Спасибоньки!!!
Defs
Ноябрь 28, 2009 at 14:03
14Сергей, спасибо, в очередной раз выручил.
private-seo-soft
Февраль 2, 2010 at 16:54
15Здравствуйте, продставляю мою реализацию скрипта для массовой проверки тиц – http://private-seo-soft.blogspot.com/2010/01/blog-post_17.html. Спасибо!
Добров Константин
Февраль 8, 2010 at 09:26
16Я сделал массовую проверку ТИЦ. Можете ей и пользоваться – http://diabolus.ru/tic/
CY
Февраль 18, 2010 at 21:25
17Тиц сайтов можно здесь проверить – http://www.raskruty.ru/tools/cy/ . Массовая проверка, больше 1000 url
danalex
Апрель 1, 2010 at 23:40
18Добров Константин, Ваша реализация показалась очень удобной :-)
Удобство в том, что я просто могу после массовой проверки взять и скопировать в эксель, например, целую таблицу, а с “денежками” такая история не пройдет.
Было бы прикольно, если бы добавить на эту страницу функции экспорта в ворд, эксель или в текстовый файл.
Спасибо.
Автору статьи тоже спасибо, почитал с интересом. Жаль, что я не программист, скрипты не понимаю – мне удобнее, чтобы визуально – ткнул – и показало :-)
С Уважением :-)
Ответить