获取股票实时交易数据的方法

http://walsece.iteye.com/blog/169514

炒股有一段时间了,发现现在的股票行情软件在很多情况下并不是太好用,我炒股的时候喜欢看盘口的实时交易记录,如果同时关注多支股票的话,我用过的行情软件没有找到同时观看多支股票盘口交易数据的功能,另外在工作的时候使用目前的行情软件也不太方便。所以打算自己写个专门的行情软件,但是数据源是个最棘手的问题,经过搜索和不懈的努力,找到了两种方式:

  1. 通过webservice调用http://www.webxml.com.cn/zh_cn/web_services.aspx,该网站提供了免费的和收费的服务,但是免费的限制了每天的请求次数,在此不太实用。
  2. 调用sina专门的js服务器来解析数据,这种方式我使用了有很长一段时间,速度还是相当不错的,有时候比专门的行情软件的实时数据还快,下面是获取数据的部分代码:

Java代码  

  1. String url = "http://hq.sinajs.cn/list=sh600151,sz000830,s_sh000001,s_sz399001,s_sz399106";
  2. try {
  3. URL u = new URL(url);
  4. byte[] b = new byte[256];
  5. InputStream in = null;
  6. ByteArrayOutputStream bo = new ByteArrayOutputStream();
  7. while (true) {
  8. try {
  9. in = u.openStream();
  10. int i;
  11. while ((i = in.read(b)) != -1) {
  12. bo.write(b, 0, i);
  13. }
  14. String result = bo.toString();
  15. String[] stocks = result.split(";");
  16. for (String stock : stocks) {
  17. String[] datas = stock.split(",");
  18. //根据对照自己对应数据
  19. }
  20. bo.reset();
  21. } catch (Exception e) {
  22. System.out.println(e.getMessage());
  23. } finally {
  24. if (in != null) {
  25. in.close();
  26. }
  27. }
  28. }
  29. } catch (Exception ex) {
  30. System.out.println(ex.getMessage());
  31. }

list后面的参数为相关的股票代码,可以同时附加多个股票代码,其中上证前面加"sh",深证前面加"sz",
如果只需获取股票交易的基本数据则在之前加"s_",如下面的
s_sh000001,s_sz399001,s_sz399106分别为:上证指数,深证成指 ,深证综指的基本指标数据
获取到的数据格式如下:
var hq_str_sh600151="航天机电,14.49,14.57,14.37,14.86,14.10,14.37,14.38,13146411,190836199,1900,14.37,10601,14.36,16100,14.35,1700,14.34,6900,14.33,49200,14.38,60400,14.39,25373,14.40,4500,14.41,10650,14.42,2008-03-07,15:05:32";
var hq_str_sz000830="鲁西化工,8.82,8.91,8.53,8.88,8.38,8.52,8.53,24754397,213611631.24,118400,8.52,38400,8.51,368623,8.50,19000,8.49,69300,8.48,170948,8.53,57160,8.55,44729,8.56,27300,8.57,32700,8.58,2008-03-07,15:20:51";
var hq_str_sh000001="上证指数,4315.808,4360.986,4300.515,4341.295,4265.829,0,0,56747402,92203521881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2008-03-07,15:05:32";
var hq_str_s_sz399001="深证成指,15560.853,-135.272,-0.86,3500683,963757";
var hq_str_s_sz399106="深证综指,1369.839,-18.264,-1.32,4279649095,4557752";

获取数据后,自己根据行情软件来对应数据,然后使用swing做个界面,呵呵,这样就大功告成了,个人使用了2个多月了,一般情况下非常好用的。

时间: 2024-10-15 07:23:56

获取股票实时交易数据的方法的相关文章

编程:获取股票实时行情数据大全

编程:获取股票实时行情数据大全 股票软件都提供自定义公式的功能,但因为常规股票软件都是点播数据,自定义公式对分时行情完全无效,要想更细腻的分析,只能找股票实时行情接口 一般来说,有如下3种版本 屌丝版 去门户财经频道采集数据,百度,sina,搜狐,网易,和讯都有.首推sina,页面结构良好,同时提供js接口和动态gif绘制 json数据: >>curl http://hq.sinajs.cn/list=sh600133 >>var hq_str_sh600133="东湖高

使用tushare获取股票实时分笔数据延时有多大

使用tushare获取股票实时分笔数据延时有多大 前几天分享了一段获取所有股票实时数据的代码,有用户积极留言,提出一个非常棒的问题:如果数据本生的延时非常严重,通过代码获取数据再快又有什么用呢? 一直以来我也只是直观感觉延时并不是很长,但没有做过详细的统计,今天统计一下通过上一篇文章分享的方法获取的实时数据,究竟延时有多大. 今天实验用的数据是今天(2017-12-12)使用服务器脚本获取的实时数据的一部分,一共筛选了268只股票,数据只是这一天中的一部分数据,由于开盘了以后才修改的脚本,数据大

股票实时行情数据大全

股票软件都提供自定义公式的功能,但因为常规股票软件都是点播数据,自定义公式对分时行情完全无效,要想更细腻的分析,只能找股票实时行情接口 一般来说,有如下3种版本 屌丝版 去门户财经频道采集数据,百度,sina,搜狐,网易,和讯都有.首推sina,页面结构良好,同时提供js接口和动态gif绘制 json数据: >>curl http://hq.sinajs.cn/list=sh600133 >>var hq_str_sh600133="东湖高新,5.41,5.38,5.43

Oracle数据库实现获取前几条数据的方法

如何在Oracle数据库中实现获取前几条数据的方法呢?就是类似SQL语句中的SELECT TOP N的方法.本文将告诉您答案,举例说明了哟!   1.在Oracle中实现SELECT TOP N :    由于ORACLE不支持SELECT TOP语句,所以在ORACLE中经常是用ORDER BY跟ROWNUM的组合来实现SELECT TOP N的查询.  简单地说,实现方法如下所示:  SELECT 列名1...列名n FROM (SELECT 列名1...列名n FROM 表名ORDER B

12.父组件主动获取子组件的数据和方法

父组件主动获取子组件的数据和方法 1.父组件Home.vue <template> <div> <h2>{{msg}}</h2> <!-- 1.调用子组件的时候调用一个ref --> <!-- 2.在父组件中通过this.$refs.header.数据 this.$refs.header.方法 调用子组件的数据和方法 --> <!-- 注意,第一步是ref,第二步是refs --> <v-header ref=&qu

ajax中获取和发送二进制数据的方法

来源:三联教程 | 时间:2013-06-08 17:51:48 用ajax从服务器端获取二进制时, 需要用overrideMimtType设置request头,让浏览器不要修改读取的的数据,方法如下: var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function(){ if (xhr.readyState=== 4 && xhr.status === 200){ var imgdata = xhr.response;

通过Jquery异步获取股票实时数据

最近朋友让我帮他做个异步获取数据的程序,暂时服务器什么都没有,所以我就想先拿股票数据打个框架,方便后续开发和移植等事情 代码如下: <!-- 说明:股票看盘 作者:黑桃A 时间:2014-04-14 参考: http://www.lxway.com/240649562.htm http://www.lxway.com/946486042.htm http://www.365mini.com/page/jquery_getscript.htm http://blog.csdn.net/xxjoy_

js实现股票实时刷新数据

近来学习炒股,免不了上班时间看盘,总不能光明正大的用电脑看行情,一直盯着手机影响也不好,容易引起“关注”. 所以就想自己做一个网页来达到看盘的目的,一个只显示几个关键数字的网页肯定不会引起怀疑.有想法了,就开始实现吧. 准备工作: 1.数据来源 2.网页数据显示 先帖出来源码,后面讲解 <!-- 说明:股票看盘 作者:黑桃A 时间:2014-04-14 --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//

AJAX制作JSON格式的实时更新数据的方法

之前有写过这样的文章,但是出现了几个问题,第一,如果每秒都像数据库发送请求势必会造成服务器的压力过大,第二,如果使用JS的话,是不可以取得系统时间的,因为JS运行在客户端,所以只能取得客户端时间, 如此的话,就需要在后台计算好时间差,然后前台得到时间差进行倒计时计算,并且更新数据 JS代码如下: var i = 0; var ballNum = ""; var flag = true; var timer_showCountDown = null; var leftTime; func