2013-11-18 4 views
1

Использование OracleSQL и JavaJsoup Stock Quote Зачистка Yahoo Finance

У меня есть "TickerSymbol базы данных" и "StockQuote базы данных".

Выбор TickerSymbols из "GOOG", "В", "FB" и "AMZN" от "TickerSymbolDatabase"
и оборотные символы тикера в конце YahooFinance URL. http://finance.yahoo.com/q?s= (TICKER)

Затем найдите котировку акций, и вставив данные котировки в «База данных Stockquote».

Я точно не знаю, как использовать селектор Jsoup, или как циркулировать символы тикер в конце URL YahooFinance

ответ

1

Вот простой пример. Пожалуйста, проверьте TOS, и вы можете предпочесть предложение Стэнли по сбору данных через 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 ответы и селекторы запросов.

+0

Спасибо, что действительно помогает, я продолжу расследование – user3003451

+0

Отлично. Кстати, если это ответило на ваш первоначальный вопрос, не забудьте нажать «принять»; что помогает другим понять, что это сделано. –

+0

Получение одного единственного значения обычно не так уж сложно. Но вы пытались получить доступ к данным истории? - эти данные загружаются с помощью javascript, поэтому JSoup не может реально помочь. Существует также CSV-загрузка, но тег a-href также создается из javascript, поэтому ни одна из них не помогает. URL-адрес, по которому извлекаются данные CSV, дает 401-Несанкционированные ответы HTTP. Таким образом, похоже, что данные истории не могут быть достигнуты. – bvdb

0

Выходной файл, таких как Apple, Inc Stock данных на 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 является CSV файл. Вы можете просто прочитать содержимое и разобрать с помощью запятой.

Смежные вопросы