Использование финансов Yahoo

У меня есть список из 1000 акций, цену которых я пытаюсь получить от Yahoo Finance. Как бы то ни было, программа пропускает некоторые акции и не заполняет их. Код, который я использую,

     void display(String symbol) throws IOException
       {

                    URL yahoofin = new URL("http://finance.yahoo.com/d/quotes.csv?s=" + symbol + "&f=l1kjm3m4r"); 
                    URLConnection yc = yahoofin.openConnection(); 

        BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream())); 
        String inputLine; 

        while ((inputLine = in.readLine()) != null) 
        { 

            System.out.println("ing= "+ing+" "+inputLine);
            info[ing]=inputLine;


        } 
        System.out.println("ing = "+ing);

        in.close(); 
    /* 
    catch (Exception ex) 
    { 
       // log.error("Unable to get stockinfo for: " + symbol + ex); 
    } 
     */
 } 

Я продолжаю передавать новые символы из другой функции по десять за раз. BUt ing иногда печатает 7 (это означает, что запасы пропускаются). Где я ошибаюсь.


person user1092042    schedule 14.03.2012    source источник
comment
Где устанавливается/изменяется ing? Что это значит?   -  person Andrzej Doyle    schedule 14.03.2012
comment
На всякий случай, если вам интересно, я ответил на аналогичный вопрос, но код находится в Excel/VBA: stackoverflow.com/a/9429975/ 829571   -  person assylias    schedule 14.03.2012
comment
Я ничего не понял в этой ссылке, но можете ли вы сказать мне, где я ошибаюсь?   -  person user1092042    schedule 14.03.2012
comment
ing — это просто тестовая переменная, которая подсчитывает количество строк, прочитанных функцией.   -  person user1092042    schedule 14.03.2012


Ответы (2)


Возможно, вы захотите добавить задержку между вашими звонками. Иногда Yahoo не принимает очень частые запросы и отклоняет некоторые из них.

person nitin    schedule 14.03.2012

Вы можете передать более одного символа за запрос (я думаю, до 50), разделенных знаком «+». Это должно значительно уменьшить количество ваших запросов.

person Maas    schedule 14.03.2012