2012-05-30 37 views
0

我正在繼續研究一段時間以來的項目,並且一直在努力從網站中提取一些數據。該網站有一個從未知來源獲取數據的iframe。這些數據是在一個標籤像這樣的iframe:使用java從html頁面中提取單個值:

<DIV id="number_forecast"><LABEL id="lblDay">9,000</LABEL></DIV> 

有它上面其他的廢話一堆,但這個div ID /標籤是完全獨特的,在代碼中不使用其他任何地方。

回答

2

jsoup可能是你想要的,它擅長從HTML文檔中提取數據。

有許多例子說明如何使用API​​:http://jsoup.org/cookbook/extracting-data/selector-syntax

這一過程將分兩步:

  • 解析頁面,找到iframe的網址
  • 解析iframe的內容並提取您需要的信息

代碼如下所示:

// let's find the iframe 
Document document = Jsoup.parse(inputstream, "iso-8859-1", url); 
Elements elements = document.select("iframe"); 
Element iframe = elements.first(); 

// now load the iframe 
URL iframeUrl = new URL(iframe.absUrl("src")); 
document = Jsoup.parse(iframeUrl, 15000); 

// extract the div 
Element div = document.getElementById("number_forecast"); 
0

在您的頁面中包含iframe將youe iframe更改爲您自己的url的源代碼。這個URL將被你的控制器處理,它將讀取內容,解析它,提取你需要的一切並寫入響應。如果在你的iframe中有絕對引用,這應該工作。