.NET Fest: полная программа конференции на сайте. Присоединяйся к самому большому .NET ивенту
×Закрыть

Бот взаимодействия со страницей

Всем привет. Хочу написать бота, который будет открывать веб-страничку, считывать нее текст, и в зависимости от результата нажимать ту или иную кнопку. В каком направлении копать и реально ли за месяц сбацать? Сейчас так себе знаю 1с.

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Java + SleniumWebDriver , интересная задачка для практики, могу помочь

за 1-2 дні максимум, можна зробити на Python... а якщо постаратись то і швидше ;)
якщо треба можу допомогти)

если нужно отслеживать страницу в динамике. Например, изменение происходит за rand(n), то тогда Selenium
если нужно просто спарсить данные или частота изменений одинаковая — то любой клиент или библиотека, которая с http работает
если библиотека нет, но в 1С есть поддержка сокетов — то можно попробовать написать на более низком уровне

Мне нужно было спарсить страничку и нажимать на кнопочки, я воспользовался Java + JSoup + Selenium Webdriver (phantomjs), в принципе и без JSoup обойтись можно

Это у вас и броузер еще нужен запущенный ? Эт я так кликалки рекламы с оплатой делал году в 1998 ... в итоге все равно перешел на перл с подачей запросов на прямую, ибо в разы быстрее и надежнее.

Да, запущен. Страничка на сайте заполняется целой кучей джаваскриптов и постоянно обновляется. Нужен был сервер, который 24/7 будет парсить букмекерские конторы, я опыта большого в программировании не имею, так что может выбор мой не верен, но единственное что мне осталось это либо получать код странички селениумом, либо разобраться с запросами, но что тогда, что сейчас для меня это кажется очень трудной задачей.

Согласен. Задача не простая + требует поддержки / переделывания скриптов в соотв. с переделками на сайте. С другой стороны — ничего лишнего в процессе, а переделка может требоваться и под автоматический тестер, как у вас. Поэтому скрипты и оформляются на перлах и луах, что их исправить быстрее и проще чем, например С++ парсер.

....вообщем-то, веб-сайт — это конечный автомат. А запросы — это сигналы переключения состояния, т.е. вам просто нужен лог запросов (ctrl+shift+I), выписать типа «нажал А получил запрос За, нажал Б получил запроса Заб», все...дальше просто реализовываете эти запросы, сам код скриптов копать не нужно скорее всего. Возможно будут какие-то изменяемые данные, например хеш от рандома от сида по времени, но такое редко — тут прийдется почитать скрипты на странице.

Для задачи пойдет любой удобный интерпретатор работы с текстом — perl/php/lua/javascript/etc. «Нажатие кнопки» видимо будет просто запрос GET/POST, взятый оттуда же из страницы по образцу. Но вот выковыривать эти запросы прийдется вам лично, в консоли разработчика в броузере (ctrl+shift+I в хроме).

А вообще смаря че за бот. У меня вот задача единообразия закачек на 20+ совершенно разных сайтов стоит — до меня сделали гуй на C++/Qt, я туда прикрутил луа и уже на нем «драйвера» под каждый сайт — т.е. вот те самые запросы.

в случае с 1С — только github.com/PycckuuJS/pycckuu-loader

за 2 часа можно написать на script.google.com

Phantomjs я в свое время писал на нем бота для мониторинга мест в визовом центре

Так вот из-за кого люди не могут месяцами назначить дату подачи документов !

ну тогда уже была такая проблема

Парсер на php, а потім передача id потрібної кнопки.

на сайт звідки відбувався парсинг.

Я б писав бота на selenium + якась обгортка. Свого часу юзав behat/mink під php. Можу скинути код.

Нужно копать как можно дальше от 1с

Подписаться на комментарии