Pull to refresh

Comments 13

Даже если появится капча, я не вижу в этом никакой проблемы, благо тысяча разгаданных капч стоит что-то в районе доллара.
Очень занятная технология, как-раз начинал читать про селениум и тут Ваш пост очень кстати. Плюсую, и в карму тоже занес.

P.S. Я некоторое время назад использовал для этих же целей «open -a Google\ Chrome --args --disable-web-security» и iFrame через JavaScript распарсивал. Однако при большом (больше 100) количестве перезагрузок страницы, или ухода на другой адрес, хром начинал тормозить и вис, приходилось перезагружать вкладку и начинать с последней удачной попытки.
Я писал расширение для FF, но это было оправдано в моем случае. А так достаточно greasemonkey, и js все как то роднее вебу, чем python.
Приходила в голову идея мониторинга РЖД примерно 2 года назад.
Конечно, без использования selenium — я хотел сделать публичный сервис заявок на мониторинг. В этом случае selenium очень быстро уложит любое железо на две лопатки :)
Здорово. На досуге, сделаю такое для booking.uz.gov.ua — часто езжу из Киева во Львов, частенько приходится искать билеты в последний момент. А уж что на майские происходит…
API у РЖД конечно есть, просто они его не дают просто так. Насколько я знаю UFS является эксклюзивным поставщиком API для бронирования РЖД.
Есть куча сайтов посредников, использующих UFS как поставщика данных. По-моему на tutu.ru видел такой функционал, подписаться на событие вдруг места появятся.
У меня написана система учета, которая связывает воедино многие сервисы, в т.ч. и РЖД. В моем случае вместо Selenium используется WatiN, но суть примерно та же — написана просто ходилка по сайту, которая может что-то найти или посмотреть у меня в заказах. Правда немного непрягает то что логин на этом несчастном сайте почему-то нужно вводить дважды и, самое главное, связь не зашифрована (т.е. на странице логина не используется SSL).

А отсутствием API все эти конторы просто увеличивают себе нагрузку раз в 10, если не больше — зависит от вашей polling frequency. Кстати, та же проблема и с некоторыми банками — приходится реально лазать по их веб-клиенту, парсить HTML и выдирать нужную инфу.
Мы думали о развитии своего сервиса для выполнения Selenium-тестов в этом направлении: подготовить набор готовых скриптов для распространённых операций — таких, как мониторинг билетов, отслеживание состояния посылок и других рутинных периодических действий для сервисов, которые не имеют API.

Т.е. вы заходите, выбираете нужный скрипт (мониторинг наличия билетов), указываете параметры (билеты откуда и куда, когда), выбираете частоту запуска скрипта. И получаете email, когда скрипт находит свободные билеты.

Мы решили, что это будет не очень востребованно, и отложили реализацию, но сервис и сейчас можно использовать именно так, только скрипты придётся писать самому.

Думаете, стоило бы развить эту идею?
Да — наш сервис, как и Saucelabs, предоставляет различные комбинации браузеров/ОС.

Отличается он тем, что умеет самостоятельно запускать тесты (на Java, PHP, python, ruby). Т.е. применительно к мониторингу билетов — вам не надо держать запущенным Selenium-тест где-то у себя, на постоянно работающей машине. Можно загрузить его нам и указать расписание, по которому он будет запускаться.

Да, в контексте поста — меня очень интересует, насколько полезна/нужна идея шаблонных сценариев — потому что реализовать её на нашей системе относительно несложно. Клёво было бы, конечно, не только писать такие шаблонные сценарии самим, а позволять пользователям расшаривать свои сценарии для использования.
Вообще условно-публичный API у РЖД есть, если можно его так назвать. По крайней мере я написал скрипт, который запрашивает данные и получает по JSON структурированный и удобный ответ. Так же умеет рассылать смс и email, если места находятся. Довольно занятно, но в паблик не решился выкладывать, т.к. запросы могут сильно возрости. Кстати переход на JSON РЖД сильно улучшил скриптописание. Раньше приходилось парсить html, как описано в статье.
А где узнать про этот API? Его сами страницы потребляют?
Документации естественно нет, т.к. да — его сами страницы на сайте rzd потребляют.
Веб-дебаггер charles отлично помогает в отладке.
Sign up to leave a comment.

Articles