Использование финансов Yahoo - PullRequest
1 голос
/ 14 марта 2012

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

     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); 
    } 
     */
 } 

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

Ответы [ 2 ]

0 голосов
/ 15 марта 2012

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

0 голосов
/ 15 марта 2012

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

...