Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Софт для оптимизаторов и вебмастеров (http://forum.sape.ru/forumdisplay.php?f=36)
-   -   Как побороть капчу яндекса? (http://forum.sape.ru/showthread.php?t=64655)

Deicider 24.01.2011 10:07

Как побороть капчу яндекса?
 
Коллеги, добрый день!

В процессе написания собственного скрипта проверки позиций в яндексе, я столкнулся с проблемой "бесконечной" капчи. Вкратце суть в следующем:
Скрипт дергает страницу по адресу вида "http://yandex.ru/yandsearch?text=ПОИСКОВЫЙ_ЗАПРОС&lr=213". Если всё ок, то парсит её. Если появляется страница с капчей, то капча посылается на разгадывание в antigate. НО! После ввода капчи, вновь появляется страница с капчей, причем не потому что был неправильный ввод. Капча вводится правильная. А теперь самое интересное. Если по ходу работы скрипта, взять урл страницы с капчей, открыть её в браузере, и ввести капчу руками, то появляется требуемая страница выдачи. Соответственно, проблема в том, что яша как-то все-таки палит, что запрос идет не от человека, а от робота. Но как он это делает, я так и не понял.

klyop-sanya 24.01.2011 10:13

Цитата:

Сообщение от Deicider (Сообщение 1002092)
Если по ходу работы скрипта, взять урл страницы с капчей, открыть её в браузере, и ввести капчу руками, то появляется требуемая страница выдачи. Соответственно, проблема в том, что яша как-то все-таки палит, что запрос идет не от человека, а от робота. Но как он это делает, я так и не понял.

можеш дать пару примеров где нужно вводить капчу - хочу посмотреть куда потом идет перенаправление после ручного ввода.

volkovysk 24.01.2011 10:17

Цитата:

Сообщение от Deicider (Сообщение 1002092)
Но как он это делает, я так и не понял.

Возможно определяет яндекс referer , тоесть referer показывает, что запрос подаётся не с его домена, а чужого.

klyop-sanya 24.01.2011 10:19

попробуй вот так
http://yandex.ru/yandsearch?text=ПОИСКОВЫЙ_ЗАПРОС&lr=0

в конце 0 - тоесть не учитывается регион
213 - это предпочтение сайтам из Москвы и области

или вот так еще поробуй
http://yandex.ru/yandsearch?date=&te...numdoc=10&lr=0

Deicider 24.01.2011 10:43

Цитата:

Сообщение от klyop-sanya (Сообщение 1002095)
можеш дать пару примеров где нужно вводить капчу - хочу посмотреть куда потом идет перенаправление после ручного ввода.

После ручного ввода идет перенаправление (302) на адрес вида Параметр key каждый раз уникальный, поэтому если Вы сейчас введете этот урл в браузер, то не получите того поведения, которое должно быть.

Далее, если капча правильная, то идет 302-перенаправление на урл, записанный в retpath, который и является тем самым урлом, который запрашивал скрипт, в надежде получить страницу выдачи. В браузере мы получаем выдачу, а робот опять получает перенаправление на страницу капчи, и так до бесконечности.

klyop-sanya, во-первых мне нужна именно москва, а во-вторых, всякие вариации запросов я уже пробовал, не помогает.

volkovysk, откуда по-вашему вообще мог взяться реферер чужого домена? А вообще, если вводить капчу через браузер и НЕ передавать при этом реферер, то всё работает. Проблема не в этом.

zhegloff 24.01.2011 10:50

Цитата:

Сообщение от Deicider (Сообщение 1002113)
откуда по-вашему вообще мог взяться реферер чужого домена? А вообще, если вводить капчу через браузер и НЕ передавать при этом реферер, то всё работает. Проблема не в этом.

А скрипт куки принимает- передает? Попробуйте в браузере куки отключить.

Deicider 24.01.2011 10:51

Цитата:

Сообщение от zhegloff (Сообщение 1002115)
А скрипт куки принимает- передает? Попробуйте в браузере куки отключить.

Всё принимает и передает. Делаю через CURL, имитирую живого человека, как могу :)
Но проблема 100% не в этом, потому что, если после ввода скриптом капчи прервать скрипт, взять урл из location-а, который получется при редиректе и ввести его в браузере ВООБЩЕ БЕЗ КУК, то браузер получает выдачу, какую надо, хотя тут уже явное палево, что как-минимум кук нет (или они не те), и юзер-агент другой.

volkovysk 24.01.2011 11:00

Цитата:

Сообщение от Deicider (Сообщение 1002113)
volkovysk, откуда по-вашему вообще мог взяться реферер чужого домена?

Так вы ж не сказали что за скрипт и где он стоит.

Цитата:

Сообщение от Deicider (Сообщение 1002113)
А вообще, если вводить капчу через браузер и НЕ передавать при этом реферер, то всё работает.

Чем проверяли, Оперой? Пустой реферер браузера это совсем другое, чем например отсутствующий реферер скрипта. А antigate не пояснили как у вас припаян.

Цитата:

Сообщение от Deicider (Сообщение 1002113)
Проблема не в этом.

Проблема в совокупности поведенчески неправильно посылаемых запросов. Яндекс вас определяет как робота, а он не школьнегами стряпан и сопоставляет все параметры, в том числе и referer, с поведением запросов

zhegloff 24.01.2011 11:02

Цитата:

Сообщение от Deicider (Сообщение 1002116)
Но проблема 100% не в этом, потому что, если после ввода скриптом капчи прервать скрипт, взять урл из location-а, который получется при редиректе и ввести его в браузере ВООБЩЕ БЕЗ КУК, то браузер получает выдачу, какую надо, хотя тут уже явное палево, что как-минимум кук нет (или они не те), и юзер-агент другой.

Ну так попробуйте после ввода капчи не идти по редиректу, а подсунуть исходный урл.

volkovysk 24.01.2011 11:22

Deicider, А метод отправки расшифрованой капчи яндексу не забыли проверить гет или пост?

Добавлено через 11 минут
А временной промежуток между выдачей яндексом капчи и её водом учитывали в скрипте? Яндекс понимает, что человек за 2 милисекунды капчу не введёт.

Короче не для вашего уровня клепать роботов для высокотехнологичного яндекса.


Часовой пояс GMT +3, время: 14:03.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.