让我首先对堆积如山的溢出社区表示非常感谢,不知道如果没有你们,我将如何完成任何事情,但有足够的棕色绞索。
但是今天我遇到了一个问题,希望有人可以帮助我使用这两个脚本从 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
}
?>
连同这个小片段从雅虎中提取数据
<?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 ":"right","mode":"pan"}
如果您访问该网站,它将以 5 分钟的增量显示当天股票 FSLR 的所有数据。我不知道如何从这个网站上抓取这些数据,或者从 yahoo Finance 获取类似的数据,我什至已经尝试过查看 html 以查看它是否存储在那里。但一无所获,非常感谢所有帮助。
谢谢