我正在繼續研究一段時間以來的項目,並且一直在努力從網站中提取一些數據。該網站有一個從未知來源獲取數據的iframe。這些數據是在一個標籤像這樣的iframe:使用java從html頁面中提取單個值:
<DIV id="number_forecast"><LABEL id="lblDay">9,000</LABEL></DIV>
有它上面其他的廢話一堆,但這個div ID /標籤是完全獨特的,在代碼中不使用其他任何地方。
我正在繼續研究一段時間以來的項目,並且一直在努力從網站中提取一些數據。該網站有一個從未知來源獲取數據的iframe。這些數據是在一個標籤像這樣的iframe:使用java從html頁面中提取單個值:
<DIV id="number_forecast"><LABEL id="lblDay">9,000</LABEL></DIV>
有它上面其他的廢話一堆,但這個div ID /標籤是完全獨特的,在代碼中不使用其他任何地方。
jsoup可能是你想要的,它擅長從HTML文檔中提取數據。
有許多例子說明如何使用API:http://jsoup.org/cookbook/extracting-data/selector-syntax
這一過程將分兩步:
代碼如下所示:
// 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");
在您的頁面中包含iframe將youe iframe更改爲您自己的url的源代碼。這個URL將被你的控制器處理,它將讀取內容,解析它,提取你需要的一切並寫入響應。如果在你的iframe中有絕對引用,這應該工作。