【历史数据】

方法1:首先感谢网易财经提供数据下载平台,访问网易财经首页 money.163.com,点击股票,进入到股票页面,然后随便点开网页中的某支股票,比如说万科A, 你就看到了万科A股票的相关情况,这里有万科A》资金流向》历史交易数据。(第一次数据可以由历史数据导入,以后可以每天收盘后把今天的数据定时任务到数据库)

方法2:代码获取如下

【例子(可直接点击)】http://q.stock.sohu.com/hisHq?code=cn_600588&start=20181030&end=20181030&stat=1&order=D&period=d&callback=historySearchHandler&rt=jsonp

package cn.utils;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;public class UtilStock {public static void main(String[] args) {try {/*搜狐股票行情历史接口* 说明:其中 code :股票代码,格式 国别_代码*            period :数据周期(d表示日线,m表示月线,w表示周线)*            order:排序方法(D表示降序排,A表示升序排)*          stat=1代表合计,stat=0代表不合计;* 返回的数据以这条为例"2018-07-20","61.22","61.83","0.61","1.00%","61.22","62.69","57637","35856.55","0.53%";* 分别表示:                 日期,开盘,收盘,涨跌,涨幅,最低,最高,成交量,成交额,换手率。* 【优点】1)有重要数据换手率;2)免费;3)封装简单;* 【局限性】1)数据不是除权后的数据;2)一次最多只能读取100条交易记录;3)只能取日线、周线、月线数据;*/String url="http://q.stock.sohu.com/hisHq?code=cn_600588"+ "&start=20181030&end=20181030&stat=1&order=D&period=d"+ "&callback=historySearchHandler&rt=jsonp";URL ur = new URL(url);BufferedReader reader = new BufferedReader(new InputStreamReader(ur.openStream(), "GBK"));String line;while ((line = reader.readLine()) != null) {System.out.println(line);}} catch (Exception e) {e.printStackTrace();}}}

【实时数据】如下:接口:http://hq.sinajs.cn/list=sh601006

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

这个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";

这个字符串由许多数据拼接在一起,不同含义的数据用逗号隔开了,按照程序员的思路,顺序号从0开始。

0:”大秦铁路”,股票名字;
1:”27.55″,今日开盘价;
2:”27.25″,昨日收盘价;
3:”26.91″,当前价格;
4:”27.55″,今日最高价;
5:”26.20″,今日最低价;
6:”26.91″,竞买价,即“买一”报价;
7:”26.92″,竞卖价,即“卖一”报价;
8:”22114263″,成交的股票数,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百;
9:”589824680″,成交金额,单位为“元”,为了一目了然,通常以“万元”为成交金额的单位,所以通常把该值除以一万;
10:”4695″,“买一”申请4695股,即47手;
11:”26.91″,“买一”报价;
12:”57590″,“买二”
13:”26.90″,“买二”
14:”14700″,“买三”
15:”26.89″,“买三”
16:”14300″,“买四”
17:”26.88″,“买四”
18:”15100″,“买五”
19:”26.87″,“买五”
20:”3100″,“卖一”申报3100股,即31手;
21:”26.92″,“卖一”报价
(22, 23), (24, 25), (26,27), (28, 29)分别为“卖二”至“卖四的情况”
30:”2008-01-11″,日期;
31:”15:05:32″,时间;

一个简单的JavaScript应用例子:

<script type="text/javascript" src="http://hq.sinajs.cn/list=sh601006" charset="gb2312"></script>
< script type="text/javascript">
     var elements=hq_str_sh601006.split(",");
    document.write("current price:"+elements[3]);
< /script>

这段代码输出大秦铁路(股票代码:601006)的当前股价

current price:14.20

如果你要同时查询多个股票,那么在URL最后加上一个逗号,再加上股票代码就可以了;比如你要一次查询大秦铁路(601006)和大同煤业(601001)的行情,就这样使用URL:

http://hq.sinajs.cn/list=sh601003,sh601001

查询大盘指数,比如查询上证综合指数(000001):

http://hq.sinajs.cn/list=s_sh000001

服务器返回的数据为:

var hq_str_s_sh000001="上证指数,3094.668,-128.073,-3.97,436653,5458126";

数据含义分别为:指数名称,当前点数,当前价格,涨跌率,成交量(手),成交额(万元);

查询深圳成指数:

http://hq.sinajs.cn/list=s_sz399001

调用sina专门的js服务器来解析数据,这种方式我使用了有很长一段时间,速度还是相当不错的,有时候比专门的行情软件的实时数据还快,下面是获取数据的部分代码:

 String url = "http://hq.sinajs.cn/list=sh600151,sz000830,s_sh000001,s_sz399001,s_sz399106";try {URL u = new URL(url);byte[] b = new byte[256];InputStream in = null;ByteArrayOutputStream bo = new ByteArrayOutputStream();while (true) {try {in = u.openStream();int i;while ((i = in.read(b)) != -1) {bo.write(b, 0, i);}String result = bo.toString();String[] stocks = result.split(";");for (String stock : stocks) {String[] datas = stock.split(",");//根据对照自己对应数据}bo.reset();} catch (Exception e) {System.out.println(e.getMessage());} finally {if (in != null) {in.close();}}}} catch (Exception ex) {System.out.println(ex.getMessage());}

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个多月了,一般情况下非常好用的。

【股票】java+js获取股票实时数据相关推荐

  1. sentinel 端口_Sentinel原理:控制台是如何获取到实时数据的

    Sentinel 系列教程,现已上传到 github 和 gitee 中: GitHub: https://github.com/all4you/sentinel-tutorial Gitee: ht ...

  2. js获取用户实时地理位置

    js获取用户实时地理位置 if(navigator.geolocation) {var id = navigator.geolocation.watchPosition(function(positi ...

  3. js获取树形JSON数据根节点到任一子节点路径

    js获取树形JSON数据根节点到任一子节点路径 数据结构,deep表示节点深度 现在定义一个方法传入一个子节点对象,返回其对应路径. 首先遍历数据将遍历顺序放在一个数组中![首先递归遍历数据将遍历顺序 ...

  4. Python利用PyQt5制作一个获取网络实时数据NBA数据播报GUI

    现在NBA联赛也进行到半决赛了,我们怎么样才能以更快的方法获取NBA的数据呢?这里我们就自己来做一个数据播报的程序 文章目录 制作NBA数据爬虫 捋顺思路 编写代码 NBAReporter.py NB ...

  5. java代码获取银行实时汇率

    java代码获取银行实时汇率 因为工作的时候甲方要求实施获取银行汇率,并且他们还不提供免费的接口,我就自己去网上找了接口,并写了实现代码,如果你需要的话直接复制粘贴就可以用了. 我用的是idea开发的 ...

  6. Java爬虫获取网页表格数据

    //Java爬虫获取网页表格数据 public class Pachong implements Runnable { public void run() { String Rpt_date = nu ...

  7. js获取对象里数据条数

    js获取对象里数据条数 对象无法使用length获取长度,需要使用js原生方法里的Object.keys方法进行获取,具体用法如下: let obj = {'a1': {'name': '张三''}, ...

  8. 通过js获取Model中数据

    通过js获取Model中数据 前端js获取model 1.获取model的js代码必须写在html中 2.script中添加 th:inline="javascript" < ...

  9. js 实时显示服务器时间,js获取服务器实时时间

    本文主要和大家分享js获取服务器实时时间,主要以代码的方法和大家分享,希望能帮助到大家. AJAX获取服务器时间 /* * ajax 函数,处理 ajax 请求 * @param function c ...

最新文章

  1. php的延迟绑定,PHP延迟静态绑定使用方法实例解析
  2. 我们应该怎么使用网络中赋予我们的权限
  3. MVC日期和其它字符串格式化
  4. luogu p3515 Lightning Conductor
  5. SpringCloud系列研究---Eureka服务消费Feign
  6. apache2: unrecognized service
  7. YDOOK: ANSYS Maxwell 19 教程17:Maxwell 2D 网格划分 网格划分工具有哪些
  8. php酒店系统论文,PHP酒店网站管理系统毕业论文
  9. 开发Windows物流管理系统——(一)前期准备
  10. Access仿Excel的RoundUp函数向上取整的方法。
  11. 手机cpu天梯图2020
  12. R语言分组画条形图——qplot
  13. ElasticSearch中文分词,看这一篇就够了
  14. c语言作业答,C语言练习作业及答案
  15. unity 碰撞检测的四种检测模式
  16. 《大话数据结构》看书笔记--算法
  17. LeetCode(172) Factorial Trailing Zeroes
  18. 计算机宣传部职责,计算机系团总支宣传部第一学期工作总结
  19. 使用Redis+Flask维护动态代理池
  20. 依靠国家资源,发展人工智能

热门文章

  1. 【mac使用技巧】程序坞上的下载不见了该如何解决呢?
  2. 实战6:基于OpenCV的人脸口罩识别检测详细教程
  3. 微信公众号config:invalid signature签名失效
  4. java基于微信小程序的加油服务系统 uniapp小程序
  5. STM32串口通信中的USART_RecieveData函数分析
  6. 二、PyQtGragh模块安装以及上手体验
  7. 关于nginx连接被重置引发的网络协议工作解析
  8. 如何在桌面上安装运行Rancher 2.0 1
  9. 我在 GitHub 上读清华
  10. OSChina 周一乱弹 —— 好气哦,还是要保持微笑