首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用雅虎财经

使用雅虎财经
EN

Stack Overflow用户
提问于 2012-03-14 20:54:54
回答 2查看 462关注 0票数 1

我有一个1000只股票的清单,我正试图从雅虎财经那里获得价格。然而,程序似乎跳过了一些股票,并没有将其填入。我使用的代码是

代码语言:javascript
复制
     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。(这意味着股票会被跳过)。我哪里错了?

EN

回答 2

Stack Overflow用户

发布于 2012-03-15 06:51:05

您可能希望在呼叫之间添加延迟。有时,雅虎不会接受非常频繁的请求,并拒绝了其中一些请求。

票数 0
EN

Stack Overflow用户

发布于 2012-03-15 07:11:10

您可以为每个请求传递多个符号(我认为最多50个),以"+“分隔。这应该会减少你的请求数量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9702375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档