js实现股票实时刷新数据案例

2、网页数据显示

先帖出来源码,后面讲解

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <meta charset="utf-8" /> <head> <script type="text/javascript" src="https://code.jquery.com/jquery-1.4.1.min.js"></script> <script type="text/javascript"> var stockCode="600804"; $(document).ready(function(){ getNewData(); var tg=self.setInterval("getNewData()",2000);//N毫秒刷新一次,1000毫秒=1秒 }); //获取新数据 function getNewData() { if(getQueryString('c')!=undefined) { stockCode=getQueryString('c'); } var type=stockCode[0]==6?1:2; var durl="http://flashquote.stock.hexun.com/Stock_Combo.ASPX?mc="+type+"_"+stockCode+"&dt=T&t="+Math.random(); $.getScript(durl,function(data){ //加载脚本并执行 }); } //刷新显示 function refreshData(code,type,tip,data) { var result=""; result+=code; result+="<br/>"; result+= data[1]+'\t'+data[2]+'\t'+data[3]+'\t'+data[4]+'\t  '+data[5]+'\t'+percent+'%'; result+='<div></div>' result+=''+data[24]+'\t\t'+data[25]; result+='<br/>'+data[22]+'\t\t'+data[23]; result+='<br/>'+data[20]+'\t\t'+data[21]; result+='<br/>'+data[18]+'\t\t'+data[19]; result+='<br/>'+data[16]+'\t\t'+data[17]; result+='<div></div>' result+=''+data[6] +'\t\t'+data[7]; result+='<br/>'+data[8] +'\t\t'+data[9]; result+='<br/>'+data[10]+'\t\t'+data[11]; result+='<br/>'+data[12]+'\t\t'+data[13]; result+='<br/>'+data[14]+'\t\t'+data[15]; $("#result").html(result); } //getQueryString获取url参数 function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } </script> </head> <body> <div></div> </body> </html>

数据来源

如果不知道现有可用的数据源,就百度吧。百度搜索“股票数据接口”

搜到的结果如下,这是一个浪新博客里的,相信读者都能很容易的找到。

Sina股票数据接口

以大秦铁路(股票代码:601006)为例,如果要获取它的最新行情,只需访问浪新的股票数据

接口:=sh601006这个url会返回一串文本,例如:

var hq_str_sh601006="大秦铁路, 27.55, 27.25, 26.91, 27.55, 26.20, 26.91, 26.92, 22114263, 589824680, 4695, 26.91, 57590, 26.90, 14700, 26.89, 14300, 26.88, 15100, 26.87, 3100, 26.92, 8900, 26.93, 14230, 26.94, 25150, 26.95, 15220, 26.96, 2008-01-11, 15:05:32";

这里用我自己熟悉的一个“接口”,我经常在和讯网上看行情,财经新闻等,知道它有一个可用的数据来源。这里还是详细点说明一下我是怎么发现“接口”的。

在浏览器里打开一只个股的页面,如。然后打开浏览器的开发工具,我用的chrome,火狐里有firebug也挺好。切换到开发工具的“网络”标签,观察一下,很容易就能找到隔几秒,就会加载一个js,如图1所示

js实现 股票实时数据 监测

图1

链接地址 flashquote.stock.hexun.com/Stock_Combo.ASPX?mc=1_600050&dt=MX,DL&t=0.9482741139363497

就是这样一个连接,在浏览器里打开,可以看到如下的内容

refreshData('600050','1','Q',['20140414150001','3.16','3.16','3.16','3.13','3.14','3.13','3668496','3.12','3011500','3.11','1858100','3.10','2850000','3.09','955100','3.14','61400','3.15','4566385','3.16','3849399','3.17','1490702','3.18','2654615','55099344','172995571','8700','0.49','19.33','0.0026','31982854','22913509']);refreshData('600050','1','MX',[['1458','3.15','129800','407904'],['1459','3.14','580900','1824318'],['1500','3.14','8700','27318']]);refreshDeal('DL',[['150001','3.14','8700','2'],['145956','3.14','3700','2'],['145951','3.14','30500','1'],['145946','3.15','1100','2'],['145941','3.15','100','2'],['145936','3.14','508000','1'],['145921','3.14','2000','1'],['145916','3.14','6000','1'],['145906','3.15','28500','2'],['145901','3.14','1000','1']]);

这是一段js脚本,执行refreshData方法,其他就是这个方法的参数了。参数一看就明白了,正是股票的实时盘口数据。

网页数据显示

数据来源已经有了,开始第二步吧。做一个网页来加载这些数据。做js简单的就是用jquery吧, 一个很优秀的js库。

这一步比较简单,用jquery里的ajax方法加载数据,显示。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wysjxp.html