抓取YAHOO股票报价的类


Posted in PHP onMay 15, 2009
<? 
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 #$lineCount\n"; 
$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("\n\r", " ", "$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\n"; 
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 相关文章推荐
修改Zend引擎实现PHP源码加密的原理及实践
Apr 14 PHP
php基于socket实现SMTP发送邮件的方法
Mar 05 PHP
讲解WordPress开发中一些常用的debug技巧
Dec 18 PHP
Symfony2实现从数据库获取数据的方法小结
Mar 18 PHP
php使用ffmpeg获取视频信息并截图的实现方法
May 03 PHP
Yii2实现上下联动下拉框功能的方法
Aug 10 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
Sep 11 PHP
thinkPHP框架中执行原生SQL语句的方法
Oct 25 PHP
360搜索引擎自动收录php改写方案
Apr 28 PHP
php微信公众号开发之答题连闯三关
Oct 20 PHP
TP5框架实现自定义分页样式的方法示例
Apr 05 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
May 27 PHP
PHP 采集心得技巧
May 15 #PHP
DISCUZ 论坛管理员密码忘记的解决方法
May 14 #PHP
PHP获取当前文件所在目录 getcwd()函数
May 13 #PHP
php 购物车实例(申精)
May 11 #PHP
PHP 编写的 25个游戏脚本
May 11 #PHP
PHPMyAdmin 快速配置方法
May 11 #PHP
PHP 在线翻译函数代码
May 07 #PHP
You might like
php基础知识:类与对象(4) 范围解析操作符(::)
2006/12/13 PHP
PHP 命令行参数详解及应用
2011/05/18 PHP
PHP 中提示undefined index如何解决(多种方法)
2016/03/16 PHP
精解window.setTimeout()&amp;window.setInterval()使用方式与参数传递问题!
2007/11/23 Javascript
Jquery乱码的一次解决过程 图解教程
2010/02/20 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
2016/09/04 Javascript
JS取数字小数点后两位或n位的简单方法
2016/10/24 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
js中的数组对象排序分析
2018/12/11 Javascript
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
微信小程序使用canvas的画图操作示例
2019/01/18 Javascript
vue中activated的用法
2021/01/03 Vue.js
详解python爬虫系列之初识爬虫
2019/04/06 Python
用Python中的turtle模块画图两只小羊方法
2019/04/09 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
Python如何输出百分比
2020/07/31 Python
css3的transform造成z-index无效解决方案
2014/12/04 HTML / CSS
美国狗旅行和户外用品领先供应商:kurgo
2020/08/18 全球购物
Java软件工程师综合面试题笔试题
2013/09/08 面试题
单位创先争优活动方案
2014/01/26 职场文书
优秀大学生职业生涯规划书
2014/02/27 职场文书
自我鉴定书
2014/03/24 职场文书
毕业自我鉴定总结
2014/03/24 职场文书
天网工程实施方案
2014/03/26 职场文书
争先创优心得体会
2014/09/12 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
Redis如何使用乐观锁(CAS)保证数据一致性
2022/03/25 Redis
一行Python命令实现批量加水印
2022/04/07 Python
Redis特殊数据类型bitmap位图
2022/06/01 Redis