2012-05-16 41 views
2

有一個網站,它提供了我想要得到的數據。不過,下載表格 允許以小部分下載,因此我需要填寫並按下「下載」按鈕約18000次。在這個網站的論壇上它是由管理員, 在下載使用這種形式的數據是得到它,有些人寫 腳本的過程自動化的必由之路說,這樣的腳本有資格,如果他們不啓動多個 同時下載。我想寫這樣的腳本,但我不知道從哪裏開始,因爲我不熟悉網頁與服務器的交互。如何通過html表單自動下載數據?我應該學什麼?

我有一些經驗寫C/C++程序,而且我知道一點的bash腳本。我知道HTML的基本知識,但我不太明白,HTML表單如何工作。我通常在Ubuntu上工作,如果需要的話,我也安裝了Windows 7。

請告訴我,從哪裏開始:我可以使用哪些工具,我應該學會解決這個任務,哪些書/教程/文章可能是我在這個方向教育有幫助這概念。

特別,是我知道的語言(C++,bash腳本)適合這個腳本或以其他方式是它更好地學習一些其他語言?您使用哪些程序來了解,腳本應該將哪些內容發送給服務器,以及如何接收文件?

回答

2

這種東西叫做web scraping。有多種方式可以做到這一點。名爲curl的命令行工具允許您像瀏覽器一樣從網站獲取資源。但是它是可編寫的,您可以傳遞參數使其像瀏覽器一樣工作。

通常情況下,我會做到這一點使用腳本語言如Python,但它是可能的,雖然很難,要使用bash腳本和捲曲做到這一點。當你點擊提交按鈕時,你需要弄清楚你要提交給網站的內容。 Firefox的插件firebug可以幫助你解決這個問題,然後用curl做同樣的事情。將curl調用放入一個循環中並更改參數以模擬18000次點擊。

相關問題