抓取YAHOO股票报价的类
作者:bea
代码如下: <? 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
代码如下:
<?
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 (strstr($buffer, "<a"))
{
$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, "<br>"))
{
$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< $symbolCount; $i )
{
echo "$symbols[$i]<br>";
getYahooQuote("$symbols[$i]");
}
?>
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 一个很不错的PHP翻页类
- PHP 服务器配置(使用Apache及IIS两种方法)
- php Undefined index的问题
- php $_ENV为空的原因分析
- PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
- UCenter Home二次开发指南
- phpMyAdmin 安装及问题总结
- PHP XML备份Mysql数据库
- PHP mail 通过Windows的SMTP发送邮件失败的解决方案
- php 字符过滤类,用于过滤各类用户输入的数据
- PHP的单引号和双引号 字符串效率
- php session 错误
- php print EOF实现方法
- php 方便水印和缩略图的图形类
- 简单的php 验证图片生成函数
- PHP 数组入门教程小结
- php 无限级 SelectTree 类
- PHP日期时间函数的高级应用技巧
- PHP 模拟登陆MSN并获得用户信息