Я работаю над сложной проблемой: найти решение для получения данных после процесса бронирования.По сути, у меня есть страница с формой (SLIM FORM), которую мне нужно автоматически заполнять информацией, поступающей из формы провайдера (например, easyjet.com или hotels.com, любой сайт бронирования в основном).Например: https://secure.booking.com/hotel/es/royal.html?sid=1c2bab12a0c64a541728840f52cd6401;errorc_checkin_invalid=checkin;errorc_intro_error_message_invalid=intro_error_message;errorv_stage=1;errorv_checkin=2011-07-05;errorv_hotel_id=90228;errorv_installment_count=1;errorv_hostname=www.booking.com;errorv_nr_rooms_9022801_80638194_0=1;errorv_interval=1 информация в моем бронировании - это то, что мне нужно получить.
Я сделал несколько тестов, и вот что я выяснил, на данный момент:
Невозможно иметь оба на одной странице, потому что с cURL нет связи с внешним сервером, а с iframes он покидает страницу как можно скорее, src iframe изменяется.
Итак, я решил, что процесс бронирования должен происходить на специальной странице, в домене поставщика бронирования (easyjet.com ...)
1) Могу ли я рассмотреть возможность выполнения бронирования нареальный сайт, или есть ли способ включить внешний сайт на мою страницу и выполнить весь процесс бронирования на нем (в основном, заполнение форм при отъезде, дате прибытия и т. д ...)?
Если это невозможноЯ провел несколько тестов с помощью cURL и пришел к такому выводу:
_ Мне придется определить подходящее регулярное выражение для каждого провайдера, и у меня сложилось впечатление, что у некоторых есть механизмы для идентификации cURL и block это.(например, lufthansa.com) Но с другими он работает довольно хорошо (booking.com)
У меня есть 2 дополнительных вопроса:
2) Существуют ли более эффективные решения, чем cURL, для анализа некоторого HTML встраница (тем более, что она не работает, если URL не содержит sessionID)?Я думал, может быть, использовать что-то вроде Selenium ...
3) Как я могу запустить мой анализ cURL на другой вкладке или в окне?(Я думал о системе, похожей на закладки, которая может вызывать некоторый код JavaScript)
Спасибо за ваши ответы и извините за длину: -)
Обновление : на основев ответах, которые я получил, вот свежие мысли: для крупных провайдеров (easyjet, hotels.com и т. д.) я буду использовать API, если он доступен.Для небольших провайдеров (например, http://www.hotel -gare-clermont.com / ru, 1 6217.html ), я думаю, что прокси-решение стоит другого, и я не буду получать никаких жалоб на юридическиевопросы от "Hotel de la Gare", в то же время добавляя видимости этим маленьким поставщикам.Что ты думаешь?