2011-07-15 46 views
0

我甚至不知道我所問的是否可能,我不知道在Google上搜索什麼。從需要您登錄的網站獲取數據(Java)

基本上,有多個項目,需要我從網站獲取一些數據。我現在想到的例子是從銀行網站獲取我的帳戶信息http://www.americanexpress.ca我想知道如何創建它,以便我的登錄信息輸入到左側的字段中,並從中獲取數據產生頁面。然後我會製作方法來解析這些數據。

顯然,這需要安全,因爲我不希望我的銀行信息被盜。

對不起,如果解決方案是顯而易見的,因爲我從來沒有試過從網站抓取數據。

+0

搜索的術語是「web scraping」 –

+0

謝謝!這會讓我輸入登錄憑證並獲取嵌套鏈接中的數據嗎? –

+0

Fiddler(http://www.fiddler2.com/fiddler2/)可以非常有效地調試您的瀏覽器和SSL加密網站之間傳遞的網絡消息。 –

回答

2

如前所述,Apache HttpClient是一種選擇,儘管個人而言,我總是發現HtmlUnit能夠更方便地(從API的角度來看)處理這樣的事情。 HtmlUnit構建於HttpClient之上,並公開了一個更高級別的API,用於與頁面內容進行交互和操作。

+0

它是否像手動操作一樣安全? –

+0

@亞當 - 是的。如果您將其指向安全的網址,則連接將使用SSL。它和普通的網頁瀏覽器一樣安全。 – aroth

+0

我同意HtmlUnit更加方便自動化「類似用戶」的活動,但值得注意的是HttpClient在上一個主要版本中得到了很多好處。我也會拋棄Watir和Selenium作爲堅實的選擇;硒對於技術不太專業的人尤其適用。 – jkraybill

2

您必須使用Apache HttpClient(或相同)庫。它有你需要的所有課程。

+0

我會盡力的,謝謝! –