1

Yahoo には、個人が現在および過去の株式情報を取得できる金融 API があります。この情報を取得する方法は複数あります。1 つは Yahoo クエリ言語を使用する方法で、もう 1 つは .csv (カンマ区切りファイル) ファイルを直接ダウンロード/読み取る方法です。

PHP経由でcsvファイルを読み取るための非常に便利なスクリプトを見つけました。ただし、csv ファイルの最初の 9,000 文字程度しか取得していないようです。私は無駄にファイルサイズで遊んでみましたが、正確にどこに制限されているのか、これを回避する方法があるのか​​ 疑問に思っています.

php が私を制限しているのでしょうか、yahoo が私を制限しているのでしょうか (ありそうにないようです)、それとも 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
}

?>

編集:すべての建設的なアドバイスに賛成票を投じます、どうもありがとう:))。

4

2 に答える 2