2011-08-19 84 views
1

我打算編寫一個Java程序來讀取一個網站的一些匯率(http://www.doviz.com),並想知道什麼是最好的方法來只讀(或讀取整體和剝離零件需要)我需要的內容。如何通過Java程序讀取網頁內容?

任何幫助表示讚賞。

+1

檢出[JSoup](http://jsoup.org/)。它很容易使用,功能強大,而且價格合適! –

回答

6

我的建議是使用Jsoup

這很容易解析使用CSS/jQuery的語法類似的外部內容

// Only one line to parse an external content 
Document doc = Jsoup.connect("http://jsoup.org").get(); 

// "Javascript-like" syntax 
Element content = doc.getElementById("content"); 
Elements links = content.getElementsByTag("a"); 
for (Element link : links) { 
    String linkHref = link.attr("href"); 
    String linkText = link.text(); 
} 

// "Jquery/Css-like" syntax 
Elements resultLinks = doc.select("h3.r > a"); 
Elements pngs = doc.select("img[src$=.png]"); 

就在jsoup.jar庫添加到您的類路徑和請享用 !
開源並且免費使用當然。

+0

感謝您將JSoup帶到桌面,我正在使用httpclient來處理上面的用例,但我一定會調查JSoup。是否也可以通過登錄來閱讀受保護的頁面? –

+1

可以添加標題信息,所以我認爲這是可能的。 http://jsoup.org/cookbook/input/load-document-from-url –

+0

如果你需要一個複雜的導航(表單發佈,重定向),HttpClient是一個好主意,可以直接獲取html內容來解析Jsoup或者登錄cookie,並將其注入連接jsoup('Jsoup.connect(「http://example.com」).cookie(「auth」,「cookies data」)') –

1

我建議你實現一個網頁的RSS閱讀機制(以編程方式),並使用標準解析器提取RSS XML的內容。