2011-12-12 35 views
0

我正在努力製作一個程序,可以準確找出我的大學的某個班級是否有開放的地點 - 基本上我希望能夠找出某個網站上的某個數字何時不爲0。我希望能夠立即報名參加該課程。我是新來的這種編程,我只是在Java,HTML/CSS,JavaScript和PHP/MySQL的一些經驗。我有點不確定我會從這樣的任務開始,但我絕對想嘗試。任何鏈接或起點將非常感激。如何製作查詢/測試網站的程序?

謝謝!

+2

firefox/greasemonkey userscript可以輕鬆完成任務,同時保持您的現有技能。 –

回答

0

假設你沒有一個能夠不斷檢查班級是否開放的服務器,那麼你最好的選擇可能就是一個簡單的桌面程序,每隔幾分鐘左右下載給定一個URL地址的網頁。

您還需要觀察該網頁的HTML,並讓程序知道如何確定某個類是否處於打開狀態(例如關鍵字,頁面大小的變化等)。例如,如果頁面包含<td>N/A</td>這樣的部分,並且在出現問題時將更改爲<td>Open</td>,則需要讓程序知道該部分。

0

我的猜測是你的大學沒有提供任何類型的API。所以可能你會需要做一些屏幕抓取,即編寫一個程序,可以查看HTML頁面,並檢查你感興趣的值。

有很好的開源庫在Python中(例如Beautiful Soup)和Ruby(Nokogiri)的屏幕抓取。其他語言中可能有很好的屏幕抓取庫,但我對它們的瞭解不多。這裏有一篇關於屏幕抓取的文章in PHP,因爲你說你知道PHP。

你可以使用提取網頁的價值,例如

一旦你提取了頁面,並確定是否有一個點在課程中打開,那麼你需要弄清楚你需要發送什麼請求到大學服務器爲自己註冊課程。

您可以通過提交帶有正確URL參數集的GET請求來完成此操作,但可能需要提交某種POST請求。幸運的是,我上面提到的所有工具都可以讓您提交發布請求。