2011-02-23 94 views
5

看來他們已經取消了他們的API。他們有一個不太強大的工具,稱爲Search Gateway。我將如何使用這個去刮取機票價格數據?它甚至有可能嗎?如果可能,我寧願在PHP或Ruby on Rails中工作。如何從kayak.com刮取定價數據?

具體而言,我想開始收集大約10對城市之間最低機票價格的數據。我想獲得一天中每個小時的數據。我可以親自檢查皮艇,但我希望能夠自動執行此過程。

+1

我不會那樣做,因爲屏幕報廢是一個基本的破解,我的意思是每次他們要更新他們的網站,你將不得不更新你的腳本。此外,從法律角度來看,他們可以在未經他們同意的情況下起訴您使用他們的數據,或者只是禁止您的服務器IP。 – RageZ 2011-02-23 02:33:25

+1

是的,你可以肯定,如果他們已經擺脫了他們的API,他們可能不希望你從那裏獲取數據。 – Brad 2011-02-23 02:54:41

+0

好點。我剛寫了一封電子郵件並徵求了許可。希望他們不會介意,因爲我的小型項目不會給他們的服務器帶來不適當的壓力。 – dasl 2011-02-23 03:27:58

回答

2

Railscast在screen scraping上有一集。基本上你可以使用nokogiri gem解析網站來獲取你需要的數據。

至於定期運行它,您可以爲此創建一個cron作業。這裏有一個相關的stackoverflow question

如果你想承載網站的某處我建議Heroku。唯一不會自由的是每天不止一次運行cron作業。但是如果你每天只運行一次就可以免費託管所有東西。

+0

有人已經這樣做了嗎?我打算自己做這樣的事情,但是我想知道是否有任何OSS項目也這樣做.. – 2012-07-12 20:53:24

2
+0

截至2015年,「對不起,KAYAK不再提供此服務。」 – htatche 2015-07-22 12:32:30

+0

截至2017年,「410對不起,我們無法找到該頁面。」 – rigsby 2017-06-12 23:10:41

0

嘗試iMacros,我用它的屏幕抓取各種酒店預訂網站。

但即使有一個好的工具,它仍然是很多工作。所以我不會這樣做只是預訂一個航班...

-1

你可以使用Python的請求庫;然而,Kayak使用cookie和http頭來檢測並過濾來自自動化腳本和漫遊器的流量。爲了繞過這一點,你必須瞭解什麼是GET和POST請求,以及如何設置cookie。另外,如果不欺騙正確的HTTP標頭,腳本/機器人將被檢測到。這裏是一個工作python腳本,成功webscrapes皮艇:https://github.com/seaunderwater/kayak-webscraper

+1

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/18988139) – dferenc 2018-03-02 20:00:09

+0

請不要只是發佈一些工具或庫作爲答案。至少在答案中演示[它如何解決問題](http://meta.stackoverflow.com/a/251605)。 – LW001 2018-03-02 21:04:36