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用法实例分析
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指