目的:Yahoo FinanceページからJavaScript要素の内部テキストを取得します。私はJavaを使用したウェブサイトからJSのInnerHTMLofを取得
document.getElementsByClassName('D(ib) Va(t)')[15].childNodes[2].innerHTML
以下のコードを使用してinnerHTMLプロパティを取得することができます
を参照してください。しかし、私は、Java
にヤフー・ファイナンスのページにこれを通信する方法を見つけることができませんしてください私は簡単に次のAPIを試してみた:
- JSoup
- HTMLUnit
- Nashorn
私はNashornは、私が探しているテキストを取得することができると思うが、私はまだそれを行うことができませんでした。
誰かが似たようなことをしている、または正しい方向に私を指すことができる場合、それは非常に高く評価されます。
詳細が必要な場合はお知らせください。
? NashornはJVM用のJSエンジンに過ぎないので、あなたが何を言っているのかは分かりません。 –
Jsoupは、ページのhtmlのみを返します。 Jsoup.connect( "http://finance.yahoo.com/quote/AAPL/profile?p=AAPL").get();ここではJsoupで使用したコードを示します。 \t要素parsedInfo = doc.getElementsByClass( "'D(ib)Va(t)"); \t文字列myInfo = parsed.text(); \t System.out.println(doc); – TheNewGuy
私は、あなたの質問を技術的な観点から修正するべきだと思います。 JavaScriptとHTMLの違いを理解する必要があります。あなたが話している要素はHTML要素ですが、JavaScriptには要素がありません。もしあなたがHTML/XMLを持っていれば、SAXパーサを使ってJavaで解析し、取り出すデータを取得することができます。注: - SAXパーサーは、巨大なXML/HTML用ではありません。だから、このためには、DOMパーサーを使用する必要があります。 –