雅虎有一个金融 API,允许个人获取当前和历史股票信息。他们有多种检索这些信息的方法,其中一种是使用 Yahoo Query Language,另一种是直接下载/读取他们的 .csv(逗号分隔文件)文件。
我发现了一个非常有用的脚本,用于通过 php 读取 csv 文件。但是,我似乎只获得了 csv 文件的前 9,000 个字符左右。我试过玩文件大小无济于事,我想知道我到底在哪里被限制,是否有办法解决这个问题。
是 php 封顶我,是雅虎封顶我(似乎不太可能),还是只是一个人只能通过 http 协议传递这么多信息?我欢迎任何知情的评论,并非常感谢任何建设性的批评。我的代码如下:
<?php
// Setup Variables
$requestUrl = "http://ichart.yahoo.com/table.csv?s=GOOG&a=0&b=1&c=2000&d=0&e=31";
// Pull data (download CSV as file)
$filesize=1000000;
$handle = fopen($requestUrl, "r");
$raw = fread($handle, $filesize);
fclose($handle);
echo $raw; //error checking, turns out the $raw is only about 8000 characters long
// Split results, trim way the extra line break at the end
$quotes = explode("\n",trim($raw));
foreach($quotes as $quoteraw) {
$quoteraw = str_replace(", I", " I", $quoteraw);
$quote = explode(",", $quoteraw);
echo $quote[0]."
"; // output the first element of the array, the Company Name
}
?>
编辑:将对所有建设性建议进行投票,非常感谢:))。