使用OracleSQL和Java
我有一个“TickerSymbol数据库”和一个“Stockquote数据库”。
从“TickerSymbolDatabase”中选择“GOOG”,“APPL”,“FB”和“AMZN”中的TickerSymbol 并在YahooFinance URL末尾传播股票代码。 http://finance.yahoo.com/q?s=(TICKER)
然后找到股票报价, 并将报价数据插入“Stockquote数据库”。
我不确定如何使用Jsoup选择器, 或如何在YahooFinance URL的末尾传播股票代码符号
答案 0 :(得分:1)
这是一个简单的例子。请检查服务条款,您可能更喜欢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响应和选择器查询。
答案 1 :(得分:0)
http://finance.yahoo.com/q;_ylt=Ag5D9mq4OAYIeUaL64JN7QYDyr0F;_ylc=X1MDMjE0MjQ3ODk0OARfcgMyBGZyA3VoM19maW5hbmNlX3dlYl9ncwRmcjIDc2EtZ3AEZ3ByaWQDBG5fZ3BzAzEwBG9yaWdpbgNmaW5hbmNlLnlhaG9vLmNvbQRwb3MDMQRwcXN0cgMEcXVlcnkDQUFQTCwEc2FjAzEEc2FvAzE-?p=http%3A%2F%2Ffinance.yahoo.com%2Fq%3Fs%3DAAPL%26ql%3D0&type=2button&fr=uh3_finance_web_gs&uhb=uhb2&s=AAPL处的Apple Inc Stock Data等输出文件是CSV文件。你可以只读取内容并用逗号分隔符解析。