2012-03-14 9 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からの新しいシンボルを渡しておきます。 BUt ingは時々7を印刷します(つまり、在庫はスキップされます)。どこが間違っているの?

+0

「設定」はどこに設定/変更されますか?どういう意味ですか? –

+0

もしあなたが興味があれば、私は似たような質問に答えましたが、コードはExcel/VBAにあります:http://stackoverflow.com/a/9429975/829571 – assylias

+0

私はそのリンクで何も理解していませんでしたが、どこが間違っていますか? – user1092042

答えて

0

通話の間に遅延を追加することができます。 Yahooは非常に高い頻度のリクエストを受け入れず、そのうちのいくつかを拒否します。

0

リクエストごとに複数のシンボルを渡すことができます(最大50個まで) "+"で区切ります。 これはあなたの要求の数を大幅に減らすはずです。

関連する問題