微信公众平台-股票行情查询
来源:互联网 发布:数据分析师有关证书 编辑:程序博客网 时间:2024/04/28 07:30
微信公众平台-股票行情查询
php实现的获取上证,深证 A,B股实时行情的接口,只实现了文本消息回复,K线图可以在图文消息中加上接口url地址就可以显示,具体的接口地址网上可以找,有了股票数据源,弄成图文消息也是轻而易举了。
用到php扩展curl库发送http请求到新浪接口,
下面是sendHttp.php源码
<?php class RespMsg { public function weatherInfo() { } public function stockInfo($stockCode) { $ch = curl_init(); $header=array(); $header[]="Content-Type: text/plain; charset=UTF-8"; //$header[]="Host: 192.168.242.128"; $header[]="Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2"; $header[]="Connection: keep-alive"; //$header[]="Content-Length: ".strlen($menuJson); if(empty($stockCode)) $stockCode="000001"; if(strncmp($stockCode,"00",2)==0 || strncmp($stockCode,"200",3)==0 || strncmp($stockCode,"300",3)==0 || strncmp($stockCode,"399",3)==0) { $url = "http://hq.sinajs.cn/list=sz".$stockCode; } else if(strncmp($stockCode,"60",2)==0 || strncmp($stockCode,"900",3)==0) { $url = "http://hq.sinajs.cn/list=sh".$stockCode; } if(strcmp($stockCode,"000001")==0) { $url = "http://hq.sinajs.cn/list=sh".$stockCode.",sz".$stockCode; } curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_POST, 1); //curl_setopt($ch, CURLOPT_POSTFIELDS, $menuJson); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ; curl_setopt($ch, CURLOPT_HEADER, false); $res = curl_exec($ch); if(curl_errno($ch)) { print curl_error($ch); $res="0"; } else { curl_close($ch); } //@header('Content-Type:text/plain; charset=utf-8'); //解决中文乱码 $res=mb_convert_encoding($res,"UTF-8","EUC-CN"); return $res; } public function newsInfo() { } } ?>
//解析新浪接口返回的函数
require("sendHttp.php");
......
private function parserStock($str) { $arraykey=array("股票名字", "今日开盘价", "昨日收盘价", "当前价格", "今日最高价", "今日最低价", "竞买价", "竞卖价", "成交数(手)", "成交金额(万)", "买一(股)", "买一(元)", "买二(股)", "买二(元)", "买三(股)", "买三(元)", "买四(股)", "买四(元)", "买五(股)", "买五(元)", "卖一(股)", "卖一(元)", "卖二(股)", "卖二(元)", "卖三(股)", "卖三(元)", "卖四(股)", "卖四(元)", "卖五(股)", "卖五(元)", "日期", "时间"); if($str=="0") return $result; for($i=0,$pos2=0;$i<strlen($str);$i=$i+$pos2) { if(!($pos1=stripos($str,"=",$pos2))) { break; } if(!($pos2=stripos($str,';',$pos1))) break; $tmp=substr($str,$pos1+2,$pos2-$pos1-3); if(strlen($tmp)==0) return $result; $arraydata=explode(",",$tmp); for($i=0;$i<count($arraykey);$i++) { if(!$arraydata) break; $result=$result.$arraykey[$i].":".$arraydata[$i]."\n"; } $result=$result."\n"; } return $result; }
在主循环中用下面几行获得文本行情数据
$respObj = new RespMsg();
$ret = $respObj->stockInfo($keyword);
$result=$this->parserStock($ret);
程序不够完善,例如返回数据的排版格式不够美观、000001上证指数的返回会同时返回000001中国平安的数据等。后面可以完善下。
有兴趣看效果的可以关注微信公众账号named_a_name。
- 微信公众平台-股票行情查询
- 微信公众平台开发(62)股票行情及分析
- 微信公众平台开发(62)股票行情及分析
- 微信公众平台开发--快递查询
- 微信公众平台开发--快递查询
- 微信公众平台开发:高级篇(微信公众平台接口开发:(5)股票查询)
- 微信公众平台
- 微信公众平台
- 微信公众平台
- 微信公众平台
- 微信公众平台
- 微信公众平台
- 微信公众平台
- 微信公众平台
- 微信公众平台
- 微信公众平台
- 微信公众平台
- 微信公众平台
- 纹理寻址方式
- getLayoutParams返回null
- java项目打包成jar
- 简易项目开发流程
- C语言字节对齐
- 微信公众平台-股票行情查询
- 新闻关键词多个用空格隔开的处理函数
- windows 系统 API
- Protocol Buffer Basics: C++
- [程序段] 列出指定目录下的所有文件夹名和文件名
- java socket编程(终于明白了socket)
- hadoop读写文件
- Android中使用proguardgui混淆jar包
- ssh方式远程连接linux主机