电脑技术学习

实时抓取YAHOO股票报价的代码

dn001
<?
function getYahooQuote($stockSymbol = "CCR")
{
if (!$targetURL) $targetURL = "http://finance.yahoo.com/q?s=$stockSymbol&d=t"//设定要抓取的URL目标;;;;;
$fd = fopen("$targetURL", "r");
$stopExtract = 0;;;
$startExtract = 0;;;
while (!feof($fd));;
{
;;;;$buffer = fgets($fd, 4096);
//echo trim($buffer)."n";;;
;;;;if (strstr($buffer, "rowspan=3"))
;;;;{
//echo "extract started at line #$lineCountn";;;
$startExtract = 1;;;
;;;;};;;;;
;;;;if ($startExtract && !$stopExtract);;;;;
;;;;{
;
if (strstr($buffer, "<a"));;
{
;;;;$startPos = strrpos($buffer, "<");
;;;;$buffer = substr($buffer, $startPos);
}
//$text = trim(strip_tags($buffer));
//echo trim($buffer)."n";;;
;;;;;
$buffer = str_replace("nr", " ", "$buffer");
if (strstr($buffer, "http://ichart.yahoo.com/v?s=$stockSymbol"));;
{
;;;;//echo "ichart found!"
;;;;$stopExtract = 1;;;
}
$capturedHTML .= $buffer;;;;;;
;
;;;;}
;;;;if ($startExtract && strstr($buffer, "<br>"))
;;;;{
;$stopExtract = 1;;;
//echo "extract stopped at line #$lineCountn";;;
echo $capturedHTML;
break;
;;;;}
;;;;$lineCount++;
}
fclose($fd);
;;;;}
;;;;;
;;;;//以下为抓取的一个例子
;;;;$symbols = array('CCR', 'IIXL','SAPE','WBVN' );
;;;;$symbolCount = count($symbols);
;;;;for ($i=0; $i< $symbolCount; $i++)
;;;;{
echo "$symbols[$i]<br>"
getYahooQuote("$symbols[$i]");
;;;;}
;;;;?>


标签: