我有一个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);
}
*/
} 我一直在传递来自另一个函数的新符号,一次传递十个。BUt ing有时会打印7。(这意味着股票会被跳过)。我哪里错了?
发布于 2012-03-15 06:51:05
您可能希望在呼叫之间添加延迟。有时,雅虎不会接受非常频繁的请求,并拒绝了其中一些请求。
发布于 2012-03-15 07:11:10
您可以为每个请求传递多个符号(我认为最多50个),以"+“分隔。这应该会减少你的请求数量。
https://stackoverflow.com/questions/9702375
复制相似问题