1

yahoo ファイナンスから価格を取得しようとしている 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 が印刷されます (在庫がスキップされることを意味します)。どこが間違っていますか。

4

2 に答える 2

0

「+」で区切られたリクエストごとに複数のシンボル(最大50と思います)を渡すことができます。これにより、リクエストの数が大幅に減少するはずです。

于 2012-03-14T23:11:10.317 に答える
0

通話の間に遅延を追加したい場合があります。Yahoo は、非常に頻度の高いリクエストを受け付けず、一部のリクエストを拒否することがあります。

于 2012-03-14T22:51:04.857 に答える