目標:從Yahoo Finance頁面獲取JavaScript元素的內部文本。請參考使用Java從Website獲取InnerHTMLof
我可以使用下面
document.getElementsByClassName('D(ib) Va(t)')[15].childNodes[2].innerHTML
的代碼獲得的innerHTML但是,我無法找到一個方法,在Java中
此傳達給雅虎財經頁面我簡要試過以下API:
- JSoup
- 的HtmlUnit
- 犀牛
我覺得犀牛能得到我要找的內容,但我一直沒能做到這一點呢。
如果有人做了類似的事情,或者可以指出我朝着正確的方向,那將是非常感謝。
讓我知道是否需要更多細節。
錯在與JSoup? Nashorn只是JVM的JS引擎,所以我不確定你想說什麼。 –
Jsoup只返回頁面的html。這裏是我用於Jsoup的代碼:Jsoup.connect(「http://finance.yahoo.com/quote/AAPL/profile?p=AAPL」).get(); \t元素parsedInfo = doc.getElementsByClass(「'D(ib)Va(t)」); \t String myInfo = parsed.text(); \t System.out.println(doc); – TheNewGuy
我想,你應該從技術角度修改你的問題。您應該瞭解JavaScript和HTML之間的區別。您正在談論的元素是HTML元素,JavaScript沒有元素。那麼如果你有HTML/XML,你可以使用SAX解析器在Java中解析它,並獲取你想要獲取的數據。注意: - SAX解析器不適用於巨大的XML/HTML。所以對此,你必須使用DOM解析器。 –