Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> HttpWebRequest, каптча на яндексе, как избежать ? 
V
    Опции темы
Djinn
Дата 28.8.2009, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 250
Регистрация: 18.5.2007

Репутация: нет
Всего: 1



Здравствуйте, ну собственно пишу такое: 
Код

private string http(string textsearch, string url)
        {
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url + textsearch);
            req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2";

            Stream s = req.GetResponse().GetResponseStream();
            TextReader reader = new StreamReader(s);
            string site = reader.ReadToEnd();
            //MessageBox.Show(site.ToString());
            return site.ToString();
        }


приблизительно на 20-м вопросе просит каптчу (в тоже время через браузер все норм работает...) как избежать этого ?

p.s. пробовал рандом слип 2-10 сек, не помогло :(

Заранее благодарен, за внимание...
PM MAIL   Вверх
Crypton
Дата 28.8.2009, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 9.10.2006
Где: США, Санкт-Петерб ург

Репутация: нет
Всего: 2



Иногда в хтмл вставляются скрытые элементы формы, так называемый жетон. Элементы могут иметь случайные название и как правило обычно разработчики бота на них плют и не отправляют их значения обратно сайту. Вот и получается, что при следующем запросе сайт дает каптчу.
--------------------
«Все, что вы знаете — ложь» Теория мироздания 
PM MAIL WWW ICQ Skype   Вверх
Djinn
Дата 28.8.2009, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 250
Регистрация: 18.5.2007

Репутация: нет
Всего: 1



ну щас посмотрю smile

Добавлено через 7 минут и 55 секунд
с браузера, например когда ищешь что-либо, то запрос идет конкретно: http://yandex.ru/yandsearch?text=123

но после 18-20-го запроса просит каптчу... может кто сталкивался и конкретнее скажет в чем дело ? (при том что по страницам не клацаю, запрос всегда новый...)
PM MAIL   Вверх
nikitao
Дата 28.8.2009, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: 4
Всего: 26



Djinn,  так с браузера требует или нет ?
Если требует, то ничего не сделаешь( если дыры нет, а ее на яндексе скорее всего нет), кроме как повышение паузы или смена IP, что конечно сложно.

Если же, используя браузер вы не получаете такого , то возможно проще приручить IE и слать запросы с его помощью. Для этого смотрите в сторону контрола WebBrowser и библиотеки Microsoft.mshtml.dll. Другим способом является посылка не сразу GET запроса , а сначало посылать запрос на главную, оттуда скопировать все значения инпутов и уже тогда посылка запроса с искомым текстом. Таким образом эти жетоны можно будет обойти.


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
Djinn
Дата 28.8.2009, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 250
Регистрация: 18.5.2007

Репутация: нет
Всего: 1



Мне кажется все дело в куках, подскажите плз как их можно сохранять в переменную и потом опять использовать... ?
заранее благодарен.

Добавлено через 4 минуты и 52 секунды
Цитата(nikitao @  28.8.2009,  18:50 Найти цитируемый пост)
Djinn,  так с браузера требует или нет ?

С браузера не копирует даже при условии что я с поисковой строки все время отправляю ссылку как здесь указал... короче что есть в браузере чего я не юзаю ? только куки вроде...
PM MAIL   Вверх
Djinn
Дата 28.8.2009, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 250
Регистрация: 18.5.2007

Репутация: нет
Всего: 1



люди, что, никто не знает ? :(
PM MAIL   Вверх
Ипатьев
Дата 28.8.2009, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: нет
Всего: 37



Цитата(Djinn @  28.8.2009,  18:34 Найти цитируемый пост)
конкретнее скажет в чем дело ? 

Цитата

2.4. Вы не имеете права делать автоматические запросы в Яндексе иначе как с соблюдением требований, изложенных в лицензии сервиса Яндекс.XML, в частности, предварительно зарегистрировав IP-адрес вашего автомата.



PM MAIL   Вверх
Djinn
Дата 28.8.2009, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 250
Регистрация: 18.5.2007

Репутация: нет
Всего: 1



Цитата(Ипатьев @ 28.8.2009,  20:39)
Цитата(Djinn @  28.8.2009,  18:34 Найти цитируемый пост)
конкретнее скажет в чем дело ? 

Цитата

2.4. Вы не имеете права делать автоматические запросы в Яндексе иначе как с соблюдением требований, изложенных в лицензии сервиса Яндекс.XML, в частности, предварительно зарегистрировав IP-адрес вашего автомата.

Мне не нужны результаты запросов,  мне только нужно узнать сколько ответов на заданный запрос есть, например: http://yandex.ru/yandsearch?stype=first&am...henj&lr=187 Нашлась 121 тыс. страниц  - вот что нужно мне, не подскажете... может есть вариант не в поиск вводить, а как-то по другому ?
PM MAIL   Вверх
Djinn
Дата 28.8.2009, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 250
Регистрация: 18.5.2007

Репутация: нет
Всего: 1



Спасибо, XML идеально подошел smile хотя хотелось бы конечно без привязки к ip :( но и так прокатит smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1275 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.