php基于curl实现的股票信息查询类实例
网络编程 2021-07-05 08:23www.168986.cn编程入门
这篇文章主要介绍了php基于curl实现的股票信息查询类,结合完整实例形式分析了php使用curl调用API接口实现股票信息查询功能的相关操作技巧,需要的朋友可以参考下
本文实例讲述了php基于curl实现的股票信息查询类。分享给大家供大家参考,具体如下
股票信息查询功能我们是需要抓取第三方的数据,然后我们再把这些数据进行分析组成自己想要的,狼蚁网站SEO优化我们来看一个php 股票信息查询类.
今天一个二逼朋友让我帮忙写个股票查询的类,来集成到微信中,所以花了一点时间写了一个不完整的,哈哈,如果有想玩的人,可以继续提交代码,让它变得完善起来!!
GitHub 地址:github./widuu/stock,代码如下:
class stock{ / 股票数据接口 / const STOCK_URL = "http://apis.baidu./apistore/stockservice/stock"; / 通过拼音或者汉字获取股票代码 / const SOCKET_SUGGEST = "http://cjhq.baidu./suggest?code5="; / 单态实例 / private static $instance; / API 密钥 / private static $apikey; / 实例化类和指定API KEY @param apikey string @return instance object / public static function getInstance($apikey){ if( self::$instance == NULL ){ self::$instance = new self; self::$apikey = $apikey; } return self::$instance; } / 获取股票名称 @param stockid string @return stockName string / public static function getName($stockid){ $result = self::getSingleStock($stockid); return $result['name']; } / 获取更新时间 @param stockid string @return time string / public static function getTime($stockid){ $result = self::getSingleStock($stockid); return $result['date'].$result['time']; } / 获取K线图地址 @param stockid string @param date string min/day/week/mouth @return imageUrl string / public static function getKline($stockid,$date='min'){ $result = self::getSingleStock($stockid); return $result['klinegraph'][$date.'url']; } / 抓取整只股票的数据 @param stockid string @return stock infomation array / public static function getSingleStock($stockid){ $type = preg_match('/(\d+){6}/is', $stockid); if ( $type == 0 ){ $stockid = self::getStockId($stockid); } $stock_url = self::STOCK_URL."?stockid=".$stockid; $result = self::httpGet( $stock_url , true ); if( $result['errNum'] != 0 ){ throw new Exception($result['errMsg'], 1); return; } return $result['retData']; } / 输入拼音或者汉字来获取股票代码 @param name string @return stockid string / private static function getStockId($name){ $result = self::httpGet( self::SOCKET_SUGGEST.urlencode(iconv('utf-8', 'GBK', $name)),false ); if (emptyempty($result)){ throw new Exception("stock name not exists", 2); return; } $stockid = $result['Result'][0]['code']; $stock = explode('.', $stockid); return $stock[1].$stock[0]; } / GET获取方法 @param param string 参数 @author widuu / private static function httpGet($url,$header=false) { $curlHandle = curl_init(); curl_set( $curlHandle , CURLOPT_URL, $url ); if( $header ){ curl_set( $curlHandle , CURLOPT_HTTPHEADER , array('apikey:'.self::$apikey)); } curl_set( $curlHandle , CURLOPT_RETURNTRANSFER, 1 ); curl_set( $curlHandle , CURLOPT_SSL_VERIFYPEER, false); curl_set( $curlHandle , CURLOPT_SSL_VERIFYHOST, false); curl_set( $curlHandle , CURLOPT_TIMEOUT, 10 ); $content = curl_exec( $curlHandle ); curl_close( $curlHandle ); return $header ? json_decode($content,true) :json_decode(iconv('GBK','utf-8',trim($content)),true); } } //测试代码 stock::getInstance("5040bcbfebb0a4cffc7be278723255aa"); print_r(stock::getSingleStock('sh601000')); echo stock::getKline('紫金矿业');
更多关于PHP相关内容感兴趣的读者可查看本站专题《》、《》、《》、《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家PHP程序设计有所帮助。
上一篇:php5.3后静态绑定用法详解
下一篇:PHP中STDCLASS用法实例分析
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程