2013-05-08 87 views
1

我正在爲我的課做一個小項目,我只是一個初學者,所以請原諒我,如果我混淆了我的一些術語。填寫表格後刮取數據?

基本上,我爲我的城市的公共交通系統創建了一個交互式旅程規劃。不幸的是,他們還沒有提供我需要公開的所有數據。因此,我沒有花時間收集數據供個人使用,而是選擇了一些屏幕截圖 - 讓他們的服務器從START和STOP變量計算出行程信息,然後在我的頁面上顯示選定的信息。

那麼是否有可能遠程填寫表單的字段,然後刮取隨後加載的頁面上的數據?如果是這樣,那麼最快,最方便的方式是什麼?這恰好是無法通過URL操作數據的情況,因此必須先填寫表單以訪問數據。

相關網站: http://jp.translink.com.au/travel-information/journey-planner

+0

您是否知道任何編程語言? – pguardiario 2013-05-10 00:00:16

回答

1

這裏是你可以做什麼:

1)發送POST請求到journey-planner用這樣的一些數據(注意,CORS會跳,那麼你可以使用cURL通過PHP或任何):

Start:Wickham Tce, Spring Hill 
End:Upper Edward St, Spring Hill 
SearchDate:10/05/2013 12:00:00 AM 
TimeSearchMode:LeaveAfter 
SearchHour:7 
SearchMinute:40 
TimeMeridiem:AM 
TransportModes:Bus 
TransportModes:Train 
TransportModes:Ferry 
MaximumWalkingDistance:1500 
WalkingSpeed:Normal 
ServiceTypes:Regular 
ServiceTypes:Express 
ServiceTypes:NightLink 
FareTypes:Standard 
FareTypes:Prepaid 
FareTypes:Free 

2.)你會得到一個新的響應位置。這似乎是一個REST鏈接。最重要的是id。您將不得不打電話到該頁面並解析HTML,然後查找HTML代碼爲option-summariesdiv,您將在divtravel-option-1travel-option-n中找到更多信息。您必須仔細查看以確定哪些信息存儲在哪裏以及您將如何使用它。

爲了找到這些東西,你應該學習如何使用Firebug或Chrome的開發工具。

這是解決您的問題的一種方法。可能不是最好的,但比「屏幕抓取」任何東西都要好。但它會問你很多技巧和努力。此外,如果數據提供者將要改變一點,您的解決方案將不再適用。此外,他們可能會阻止您訪問CORS或其他任何東西(阻止您的IP等)