Как использовать Ruby для очистки, создания сеанса и запуска страницы на целевом сайте - PullRequest
3 голосов
/ 05 января 2010

Мне интересно, как использовать Ruby для очистки веб-сайта с целью запуска нового браузера с загруженной страницей назначения. Это необходимо, поскольку целевая страница не является без сохранения состояния и требует ряда параметров сеанса.

Для примера, посмотрите, как Kayak.com делает это. 1. Перейдите на сайт Kayak.com и найдите отель в Чикаго, зарегистрируйтесь 21.01.2010 и зарегистрируйтесь 22.01.2010. 2. выберите первый результат и выберите orbitz 3. Каяк доставит вас на страницу бронирования на Orbitz. для этого он должен создать сеанс, поскольку у orbitz нет постоянных ссылок на их страницу бронирования.

Есть мысли о том, как это сделать с Ruby?

Ответы [ 4 ]

6 голосов
/ 05 января 2010

взгляните на эту библиотеку http://mechanize.rubyforge.org/

2 голосов
/ 19 июля 2011

Я знаю, что это старо, но взгляните на библиотеку ruby ​​ Watir . Он манипулирует браузером и работает с javascript

1 голос
/ 05 января 2010

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

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

Даже с такими инструментами, как Mechanize, как упомянуто выше, ожидайте, что вам понадобится довольно грязная ручная конфигурация, чтобы все работало хорошо, поскольку многие сайты, с которыми вы работаете, вряд ли будут иметь лучший html и дизайн, и хороший шанс того, что вам придется искать ссылки javascript или ajax по всему месту.

1 голос
/ 05 января 2010

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

...