2012-03-14 108 views
1

我有一個清單,我想要從雅虎財務的價格1000股。程序如何以往似乎跳過一些股票和不填充它。我使用的代碼是使用雅虎財務

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

我一直在同一時間從另一個函數傳遞10新符號。有時會打印7張(這意味着股票會被跳過)。我哪裏錯了。

+0

'ing'在哪裏設置/修改?這是什麼意思? – 2012-03-14 12:57:16

+0

爲防萬一您有興趣,我回復了一個類似的問題,但代碼在Excel/VBA中:http://stackoverflow.com/a/9429975/829571 – assylias 2012-03-14 12:58:40

+0

我沒有理解該鏈接中的任何內容,但是您能否告訴我我哪裏錯了? – user1092042 2012-03-14 13:07:54

回答

0

您可能希望在通話之間添加延遲。有時候雅虎不會接受非常高的頻率請求,並拒絕其中的一些請求。

0

您可以通過「+」分隔每個請求(我想高達50)傳遞多個符號。 這應該意味着減少您的請求數量。