Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Обработка страниц движком браузера


Автор: DominiK 1.4.2009, 23:54
Доброго времени суток форумчане!
Передомной стала тривиальная задача. Нужно в многопоточном ражиме, через соксы, работать со страницами, просто говоря - вставлять данные в поля и тыкать по кнопкам, важно при этом полная обработка js, и пр. Поэтому за курл речь не идет. Знаю\слышал\читал что такое возможно только работая с готовым двигом браузера, готовые библиотеки или компоненты VS. Вообщем то я не сталкивался никогда с этим, но знаю что разберусь, нужна только информация от гуру по этому поводу smile 
В какую сторону копать господа? Жду ваших советов.

Автор: InvalidProperty 2.4.2009, 14:36
А зачем соксы  smile ? просто сокеты уже не рулят??? "Вставлять данные в поля" и "тыкать по кнопкам" достаточно просто:
  •  смотрим на странице вручную каким методом форма отправляет запросы (POST/GET)
  •  смотрим имена или id нужных нам элементов (в которые нужно вставить данные)
  •  тыкнуть на кнопку, которая имеет тип submit можно добавив к запросу ее имя (например, имеется две кнопки типа submit, их имена "yes" и "no". В запросе передаем query + "&yes", если нужно yes)
задача сразу же перестает быть тривиальной, как только ты упоминаешь о полной обработке js. Ты знаешь, что не все поисковые машины js обрабатывают, некоторые обрабатывают не полностью. Я как-то писал дорген, так для гугла у меня было около 4-5 js-методов обхода гугловского определения редиректа.

тем более задача перестает быть даже понятной, как только ты упоминаешь 
Цитата(DominiK @  1.4.2009,  23:54 Найти цитируемый пост)
полная обработка js, и пр

что такое и пр.?

ты, кстати, почему сюда запостил? Тебе так критично, чтобы это было на C/C++? Народ уже много наработок имеет в данной теме на php, perl, python и других скриптовых языках.

Автор: DominiK 2.4.2009, 16:50
Цитата(InvalidProperty @ 2.4.2009,  14:36)
А зачем соксы  smile ? просто сокеты уже не рулят??? "Вставлять данные в поля" и "тыкать по кнопкам" достаточно просто:



  •  смотрим на странице вручную каким методом форма отправляет запросы (POST/GET)


  •  смотрим имена или id нужных нам элементов (в которые нужно вставить данные)


  •  тыкнуть на кнопку, которая имеет тип submit можно добавив к запросу ее имя (например, имеется две кнопки типа submit, их имена "yes" и "no". В запросе передаем query + "&yes", если нужно yes)


задача сразу же перестает быть тривиальной, как только ты упоминаешь о полной обработке js. Ты знаешь, что не все поисковые машины js обрабатывают, некоторые обрабатывают не полностью. Я как-то писал дорген, так для гугла у меня было около 4-5 js-методов обхода гугловского определения редиректа.

тем более задача перестает быть даже понятной, как только ты упоминаешь 
Цитата(DominiK @  1.4.2009,  23:54 Найти цитируемый пост)
полная обработка js, и пр

что такое и пр.?

ты, кстати, почему сюда запостил? Тебе так критично, чтобы это было на C/C++? Народ уже много наработок имеет в данной теме на php, perl, python и других скриптовых языках.

Брат, я же написал что мне не подходит обмен заголовками smile
То что ты написал - равносильно тому что можно делать курлом. Меня это не устраивает.
P.S - сокс = SOCKS5, причем тут сокеты?smile

Автор: InvalidProperty 2.4.2009, 17:03
эм... тогда я не совсем понимаю, что ты хочешь, что бы было за рамками описанного? Кроме полной обработки js, конечно.
Про соксы я сказал только лишь потому, что у меня возник вопрос, зачем тебе, собсно, туннель понадобился, почему нельзя просто на сокетах, хотя, судя по всему, ты пишешь что-то типа модуля проспамки и тогда становится понятно, зачем тебе соксы и зачем тебе полная обработка js.
Напиши, что ты делаешь, чтобы можно было помочь smile

Автор: MAKCim 3.4.2009, 08:32
DominiK, 
есть libjs либа для эмуляции JS
в купе с cURL самое то
ну и плюс cURL имеет поддержку SOCKS5

из движков есть WebKit, Gecko
подробнее в гугле

Автор: DominiK 3.4.2009, 14:49
Цитата(MAKCim @ 3.4.2009,  08:32)
DominiK, 
есть libjs либа для эмуляции JS
в купе с cURL самое то
ну и плюс cURL имеет поддержку SOCKS5

из движков есть WebKit, Gecko
подробнее в гугле

Вот, то что надо, спасибо буду копать в эту сторону. Я еще нашел вариант со SpiderMonkey, хочу библиотеку свою написать в купе с курлом, но это чувствую через Ж, есть варианты попроще. Будем смотреть. 
Стукну тебе в PM за номером ICQ smile 

Автор: Artemon 3.4.2009, 16:52
Вам еще предстоит столкнуться с очень многими подводными камнями, которые вам готовит данная тема, больше года занимаюсь подобными проблемами и есть довольно интересные результаты.

Автор: DominiK 4.4.2009, 00:29
Artemon, 
Интересно было бы поговорить с тобой на эту тему! Стукну тоже в ПМ за номером icq. А тема остается открытой, хочу еще мнения выслушать. Спасибо! 

Автор: DominiK 22.4.2009, 23:54
вообщем то тема еще актуальна, у кого еще какие мысли по этому поводу? 

Автор: Vaulter 23.4.2009, 02:00
копни сюда
http://www.google.ru/search?q=SELENIUM

однако, подозреваю в тебе спамера smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)