实时抓取YAHOO股票报价的类
程序员文章站
2024-02-17 18:50:28
...
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)." ";
if (strstr($buffer, "rowspan=3"))
{
//echo "extract started at line #$lineCount ";
$startExtract = 1;
}
if ($startExtract && !$stopExtract)
{
{
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)." ";
if (strstr($buffer, "rowspan=3"))
{
//echo "extract started at line #$lineCount ";
$startExtract = 1;
}
if ($startExtract && !$stopExtract)
{
if (strstr($buffer, "
{
$startPos = strrpos($buffer, "
$buffer = substr($buffer, $startPos);
}
//$text = trim(strip_tags($buffer));
//echo trim($buffer)."
";
$buffer = str_replace("
", " ", "$buffer");
if (strstr($buffer, "http://ichart.yahoo.com/v?s=$stockSymbol"))
{
//echo "ichart found!";
$stopExtract = 1;
}
$capturedHTML .= $buffer;
}
if ($startExtract && strstr($buffer, "
"))
{
$stopExtract = 1;
//echo "extract stopped at line #$lineCount
";
echo $capturedHTML;
break;
}
$lineCount ;
}
fclose($fd);
}
//以下为抓取的一个例子
$symbols = array(CCR, IIXL,SAPE,WBVN );
$symbolCount = count($symbols);
for ($i=0; $i
{
echo "$symbols[$i]
";
getYahooQuote("$symbols[$i]");
}
?>