2013-10-14 103 views
0

我正在編寫一個程序來從網站上刮掉源代碼。每次單擊下一個按鈕時,都會轉到網站上的下一頁,發送一條帖子請求。使用httpclient點擊下一步按鈕?

我一直在尋找使用httpclient來處理這個問題,並通過例子和httpclient API查看,但我似乎無法弄清楚是否httpclient可以做到這一點。這是httpclient的一個功能,如果是的話,這個類會怎麼做呢?

+0

也許你應該看看jsoup http://stackoverflow.com/tags/jsoup/info –

+0

HttpClient是非常有能力做到這一點,但你需要編寫它。該按鈕很可能會被包裝在一個表單標籤中,該表單標籤提供了表單的方法和URL,以便將其提交給服務器,在您的示例中,這是一個帖子。你需要形成一個Post命令,用它包裝所需的表單參數,然後執行命令 – MadProgrammer

+0

@FredericClose我簡要地看了一下jsoup,你認爲這對於這種程序會更好嗎? – cmart

回答

0

我認爲你所說的你正在執行http的網頁上包含一個「下一個按鈕」,當你在瀏覽器中查看網頁並點擊下一個按鈕時,下一頁該網站顯示。

如果是這樣的話,是的,http客戶端可以做同樣的事情。但要明白,http客戶端不會與您的網絡瀏覽器集成。但是,您可以使用類似jsoup的庫來掃描http獲取請求返回的源代碼,以便提取網站上「下一個」頁面的url,然後發出另一個http get來獲取該資源。

假設您已經有了http客戶端發出初始http get請求的代碼,那麼就不需要額外的api了。您的程序發現「下一個」資源的網址後,您只需發出另一個請求。

+0

我有一個使用URLConnection運行良好的程序,所以最好是將jsoup整合到該程序中以接收所有的url? – cmart

+0

這當然是一種選擇。如果您在我的答案中查看jsoup的鏈接,有一個簡單的例子來說明如何在主頁上使用jsoup。 Jsoup是一個非常強大的,如果你熟悉CSS,直觀和易於使用的庫! :) – axiopisty