我正在解決一個具有挑戰性的問題:在預訂過程後尋找獲取數據的解決方案。基本上,我有一張帶有表格的頁面(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,iFrame ...?)檢索信息
我做了一些測試,這裏是我發現了什麼,現在:
這是不可能同時擁有在同一頁上,因爲捲曲,有與外部沒有通信服務器和iframes,它會盡快離開頁面iframe的src更改。
所以,我決定,預訂過程應該發生一個專門的頁面,在預約提供商(easyjet.com ...)
1)我說得對不對,審議關於執行預訂的域名真正的網站,還是有辦法在我的網頁上包括外部網站,並執行其中的預訂的全部過程(基本上填寫表格出發,到達日期等)?
如果不可能,我做了一些測試,以捲曲並得出這樣的結論:
_我必須定義擬合正則表達式爲每個供應商,我的印象是,一些有機制來識別捲曲和阻止它。 (如lufthansa.com),但它工作得很好與他人(booking.com)
我有2個其它附加問題:
2)是否有比捲曲更好的解決方案來分析一些HTML頁面中(尤其是因爲如果URL不包含sessionID,它不起作用)?我想也許使用像硒這樣的東西...
3)如何觸發我的cURL解析在其他選項卡或窗口? (我在想類似書籤的一個系統,可以引發一些JavaScript代碼)
謝謝您的回答,並遺憾的長度:-)
更新:根據我收到的,這裏的答案是新鮮想法:對於大型提供商(easyjet,hotels.com等),我會使用API(如果可用)。對於小型服務提供商(例如http://www.hotel-gare-clermont.com/en,1,6217.html),我認爲代理解決方案是值得另一個解決方案的,我不會收到任何關於「Hotel de la Gare」法律問題的投訴,同時爲這些小型提供商增加了可見性。你怎麼看?
請記住,您應該嘗試與提供商交談 - 他們可能會提供一個API接口,他們可能會反對並阻止服務器IP(儘管這對他們來說是生意的,所以不太可能) – 2011-05-04 00:58:25