積み重ねられたオーバーフロー コミュニティに感謝することから始めましょう。あなたたちなしで何かを成し遂げる方法がわかりません。
しかし、今日、誰かが助けてくれることを望んでいるという問題があります。私はこれらの 2 つのスクリプトを使用して fiance.yahoo からデータを取得していますが、これらを通じて必要なものを達成することはできません。
<?php
include_once('pulldata.php');
$objYahooStock = new YahooStock;
/**
Add format/parameters to be fetched
s = Symbol
n = Name
l1 = Last Trade (Price Only)
d1 = Last Trade Date
t1 = Last Trade Time
c = Change and Percent Change
v = Volume
*/
$objYahooStock->addFormat("snl1d1t1cv");
/**
Add company stock code to be fetched
msft = Microsoft
amzn = Amazon
yhoo = Yahoo
goog = Google
aapl = Apple
*/
$objYahooStock->addStock("msft");
$objYahooStock->addStock("amzn");
$objYahooStock->addStock("yhoo");
$objYahooStock->addStock("goog");
$objYahooStock->addStock("vgz");
/**
* Printing out the data
*/
foreach( $objYahooStock->getQuotes() as $code => $stock)
{
?>
Code: <?php echo $stock[0]; ?> <br />
Name: <?php echo $stock[1]; ?> <br />
Last Trade Price: <?php echo $stock[2]; ?> <br />
Last Trade Date: <?php echo $stock[3]; ?> <br />
Last Trade Time: <?php echo $stock[4]; ?> <br />
Change and Percent Change: <?php echo $stock[5]; ?> <br />
Volume: <?php echo $stock[6]; ?> <br /><br />
<?php
}
?>
この小さなスニペットと一緒に yahoo からデータを取得します
<?php
class YahooStock {
private $stocks = array();
private $format;
public function addStock($stock)
{
$this->stocks[] = $stock;
}
public function addFormat($format)
{
$this->format = $format;
}
public function getQuotes()
{
$result = array();
$format = $this->format;
foreach ($this->stocks as $stock)
{
$s = file_get_contents("http://finance.yahoo.com/d/quotes.csv?s=$stock&f=$format&e=.csv");
$data = explode( ',', $s);
$result[$stock] = $data;
}
return $result;
}
}
しかし、これは私が具体的にやりたいことには対応していません。これが
http://investing.money.msn.com/investments/charts/?symbol=fslr# {"zRange":"1", "startDate":"2013-7-25","endDate":"2013-7-25","chartStyle":"mountain","chartCursor":"1","scaleType":"0","yaxisAlign ":"右","モード":"パン"}
その Web サイトにアクセスすると、その日の株式 FSLR のすべてのデータが 5 分単位で表示されます。この Web サイトからこのデータをスクレイピングする方法や、ヤフー ファイナンスから同様のデータを取得する方法がわかりません。HTML を調べて、そこに保存されているかどうかを確認することさえ試みました。しかし、何も思いつきませんでした。すべての助けが大歓迎です。
ありがとうございました