Существует несколько способов программной проверки тИЦ сайта.
Первый способ: загружать страницу Яндекс.Каталога 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].
Спасибо Лебедеву за дизайн первых кнопочек.
Найдите нужного исполнителя через каталог seo-компаний Рунета.
18 Ответов
января 31, 2009 at 06:22
1А я два дня спрашиваю у народа скрипт массовой проверки тиц :)
Спасибо!
января 31, 2009 at 08:28
2Я как чувствовал, что кому-то пригодится :-D
февраля 2, 2009 at 02:00
3а есть джава скрипты, можете выложить? заранее спс
февраля 2, 2009 at 03:08
4vvvirus, что за “джава скрипты”? вроде о них речь не шла %)
февраля 5, 2009 at 12:45
5Спасибо! Кстати, сегодня в течении дня замечал глюки ТИЦа в баре. То прыгал на разных страницах(у сайта 70, иногда показывал 30) а потом через какое-то время вообще пропал. Думал всё, сайт в бан попал:) потом оказалось просто глюки
февраля 8, 2009 at 04:41
6Во-во…
МД5 конечно хорошо, но даже при таком методе при массовой проверке можно получить банный венек либо для ip, либо для всей сети ip B)
Я Саповцем предлагал еще в июле 08 использовать мои алгоритмы и мои ресурсы для чеканья чего угодно, но их смутило(ли?) недопонимания алгоритма проверки B), при этом точность составляет 99,8%
Сеопультовцы, тоже резво изначально откликнулись на сотрудничество, но опять же их видимо смутило недопонимание (выдержка из последнего письма) – они мне:
Можем ли мы размещать у вас наши чекеры? На какой трафик входящий\исходящий
мы смогли бы рассчитывать? Сколько это разных айпи? Какие ваши условия по
запросам (чтобы из-за нас айпишники не попали в бан).
А, может быть, у вас просто C-подсети есть не занятые?
а теперь я им:
у меня координально отличный способ органицации раздачи заданий от
сервера до чекеров, при этом я о чекере знаю только IP и не более
ограничения по трафику у меня нет, а то что творится у чекеров – меня
обсолютно не беспокоит
все чекеры имеют разные ip – 2 одинаковым ip запрещается работать с
сервером одновременно
у чекера есть автопроверка на бан от ПС – если он в бане, то он не
получит задание
И фсё… Больше от них писем не было. Вообщем ситуёвина один-в-один как с Саповцами…. как только тема не спалена, то и ответов от администрации не дождёшся :-(
марта 11, 2009 at 07: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 – это:
Т.е. не может прочитать денежку с яндекса. Вручную пробую прочитать – все ок.
марта 11, 2009 at 11:44
8ravist, проверьте, загружаются ли “денежки” с того сервера, на котором запускаете скрипт и можно ли открывать удаленные (на отдаленном сервере, всмысле) файлы функцией fopen (см. php.ini).
Если не найдете решения, читайте маны по php или спрашивайте на соответствующих форумах.
апреля 6, 2009 at 09:40
9А как результаты записать в файл? Программист я никакой, получается вот такой строкой выходит только последний урл file_put_contents(“tic.txt”,$site.” | “.$tic)
мая 13, 2009 at 12:04
10А с какого кол-ва банить начинают? Никто не проверял? Просто я проверил максимум тысяч 40 сайтов на ТИЦ и вроде ниче – не забанило.
мая 13, 2009 at 12:14
11greycoder, по третьему методу пока что не банят )
июня 2, 2009 at 03:04
12а каким образом можно ставить задержку, чтобы временно не забанили ip и не вылетала капча? хочется полной автоматизации
ноября 28, 2009 at 02:11
13У меня всё получилось, Ура! Теперь кучу времени можно сэкономить. Спасибоньки!!!
ноября 28, 2009 at 03:03
14Сергей, спасибо, в очередной раз выручил.
февраля 2, 2010 at 05:54
15Здравствуйте, продставляю мою реализацию скрипта для массовой проверки тиц – http://private-seo-soft.blogspot.com/2010/01/blog-post_17.html. Спасибо!
февраля 8, 2010 at 10:26
16Я сделал массовую проверку ТИЦ. Можете ей и пользоваться – http://diabolus.ru/tic/
февраля 18, 2010 at 10:25
17Тиц сайтов можно здесь проверить – http://www.raskruty.ru/tools/cy/ . Массовая проверка, больше 1000 url
апреля 2, 2010 at 12:40
18Добров Константин, Ваша реализация показалась очень удобной :-)
Удобство в том, что я просто могу после массовой проверки взять и скопировать в эксель, например, целую таблицу, а с “денежками” такая история не пройдет.
Было бы прикольно, если бы добавить на эту страницу функции экспорта в ворд, эксель или в текстовый файл.
Спасибо.
Автору статьи тоже спасибо, почитал с интересом. Жаль, что я не программист, скрипты не понимаю – мне удобнее, чтобы визуально – ткнул – и показало :-)
С Уважением :-)
Ответить