这是一个简单的例子。请检查 TOS,您可能更喜欢 Stanley 的通过 CSV 获取的建议。我想展示如何在 jsoup 中获取它。将其引入 Oracle 是一个不同的问题。
String[] codes = {"TSLA", "F", "TM"};
String baseUrl = "http://finance.yahoo.com/q?s=";
String ua = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.33 (KHTML, like Gecko) Chrome/27.0.1438.7 Safari/537.33";
for (String code : codes) {
String url = baseUrl + code;
Document doc = Jsoup.connect(url).userAgent(ua).timeout(10*1000).get();
String price = doc.select(".time_rtq_ticker").first().text();
String name = doc.select(".title h2").first().text();
System.out.println(String.format("%s [%s] is trading at %s", name, code, price));
}
这输出:
Tesla Motors, Inc. (TSLA) [TSLA] is trading at 135.45
Ford Motor Co. (F) [F] is trading at 17.07
Toyota Motor Corporation (TM) [TM] is trading at 127.98
我喜欢使用Try jsoup来测试和调试 URL 响应和选择器查询。