0
リンクを解析しようとしていますhttp://finance.yahoo.com/quote/VZ/key-statistics?p=VZ以下のコードで、ページが完全に読み込まれません。私はwebClient.waitForBackgroundJavaScript(500000)を使ってみました。 & Thread.sleep(1000);は成功しません。私の目的は評価尺度でテーブルの内容を読むことですが、決して読み込まれません。どんな助けもありがとうございます。JavaのWebページからテーブルを解析するにはどうすればよいですか?
import java.sql.Timestamp;
import java.util.ArrayList;
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.DomElement;
import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
public class LocalScreenScappingTest {
public static void main(String[] args) {
try {
java.util.logging.Logger.getLogger("com.gargoylesoftware")
.setLevel(java.util.logging.Level.OFF);
WebClient webClient = new WebClient(BrowserVersion.CHROME);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setCssEnabled(true);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setPrintContentOnFailingStatusCode(false);
// webClient.waitForBackgroundJavaScript(500000);
HtmlPage page = webClient
.getPage("http://finance.yahoo.com/quote/VZ/key-statistics?p=VZ");
// Thread.sleep(1000);
System.out.println(page.asText());
// HtmlTable table = (HtmlTable)
// page.getFirstByXPath("//*[@id='main-0-Quote-Proxy']/section/div[2]/section/div/section/div[2]/div[1]/div[1]/div/table");
} catch (Exception ex) {
System.out.println((new Timestamp(new java.util.Date().getTime()))
+ ": " + ex.toString());
}
}
}
Jsoup:https://jsoup.org/のような解析ライブラリを使用するか、Yahoo Finance APIから直接データを取得することを検討してください。http://meumobi.github.io/stocks%20apis/2016/03/ 13/get-realtime-stock quotes-yahoo-finance-api.html – Defozo
私はJsoupを試しました。 Yahoo Finance APIを試してみます。 – Lostsomewhere
logcatログを添付してください。 – Defozo