新浪股票接口获取历史数据

news2024/9/21 13:53:53

这两天做了一个调用新浪股票接口获取实时以及历史股票数据的应用,因为新浪没有公开关于其接口的官方文档,所以通过各种百度差了很多关于新浪股票接口的使用,不过大家基本都是转载或者直接复制,对于实时数据的获取讲的很详细,但是缺少获取历史数据的方法。
关于实时数据的获取大家可以看这篇博客: 实时股票数据接口
经过不懈的努力终于再这篇博文中找到了关于新浪股票历史数据的获取方式 腾讯股票接口、和讯网股票接口、新浪股票接口、雪球股票数据、网易股票数据

最近二十天左右的每5分钟数据
http://money.finance.sina.com.cn/quotes_service/api/json_v2.php/CN_MarketData.getKLineData?symbol=sz000001&scale=5&ma=5&datalen=1023
(参数:股票编号、分钟间隔(5、15、30、60)、均值(5、10、15、20、25)、查询个数点(最大值242))

获取的数据是类似下面的json数组:日期、开盘价、最高价、最低价、收盘价、成交量:
获取的数据是类似下面的json数组:日期、开盘价、最高价、最低价、收盘价、成交量:

获取的数据会有很多,然后根据自己需要进行解析,我需要的是每天的收盘价,股市是每个工作日下午3点收盘,所以我只需要找到每天的下午三点时刻的数据进行过滤即可:
1、新建一个历史数据对象类:
在这里插入图片描述
获取的数据会有很多,然后根据自己需要进行解析,我需要的是每天的收盘价,股市是每个工作日下午3点收盘,所以我只需要找到每天的下午三点时刻的数据进行过滤即可:
1、新建一个历史数据对象类:

public class HistoryModel {
    public String day;
    public String close;

    public HistoryModel(String day, String close) {
        this.day = day;
        this.close = close;
    }
}

2、新建一个股票多次历史数据类:和上一个区别就是,这里包含的是所有的历史数据:参数包括股票名字、代码、现在的价格、历史数据:

public class HistoryModels {
    public String name;
    public String code;
    public String now;
    public List<HistoryModel> list;

    public HistoryModels(String name, String code, String now, List<HistoryModel> list) {
        this.name = name;
        this.code = code;
        this.now = now;
        this.list = list;
    }
}

3、将需要查询的股票的代码带进url里通过HTTP请求json数据,我这里用的Volley请求的:

其中将时间点未15:00:00的数据过滤出来,组合乘List之后在全部赋值组合成一个HistoryModels存放股票信息以及股票的所有历史数据。

// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(Home.context);
String url1 = "http://money.finance.sina.com.cn/quotes_service/api/json_v2.php/CN_MarketData.getKLineData?symbol=" + Home.myChoiceModelList.get(ii).code + "&scale=60&ma=no&datalen=1023";

// Request a string response from the provided URL.
StringRequest stringRequest1 = new StringRequest(Request.Method.GET, url1,
        new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                List<HistoryModel> historyList = Convert(response,new TypeToken<List<HistoryModel>>() {
                }.getType());
                List<HistoryModel> historyList2 = new ArrayList<>();
                if(historyList!=null) {
                    for (int j = 0; j < historyList.size(); j++) {
                        if (historyList.get(j).day.split(" ")[1].equals("15:00:00")) {
                            historyList2.add(historyList.get(j));
                        }
                    }
                }
                HistoryModels model = new HistoryModels(Home.myChoiceModelList.get(ii).name, Home.myChoiceModelList.get(ii).code, Home.myChoiceModelList.get(ii).now, historyList2);
                cllList.add(model);
                Message msg = new Message();
                msg.what = 0x002;
                handler.sendMessage(msg);
            }
        },
        new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
            }
        });

queue.add(stringRequest1);

4、其中对json数据的处理,即从json转化成数据对象的方法如下:

/*
* Json转换泛型
 */
public static <T> T Convert(String jsonString, Type cls) {
    T t = null;
    try {
        if (jsonString != null && !jsonString.equals("")) {
            Gson gson = new Gson();
            t = gson.fromJson(jsonString, cls);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return t;
}

关于股票的实时数据这里没有描述,通过文章开头连接的博客可以了解到,写的很详细。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/674988.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux【系统学习】(shell篇)

第 1 章 Shell 概述 1&#xff09;Linux 提供的 Shell 解析器有 Ubuntu 使用的是dash 2&#xff09;bash 和 sh 的关系 3&#xff09;Centos 默认的解析器是 bash 第 2 章 Shell 脚本入门 1&#xff09;脚本格式 &#xff08;结尾不是必须以 .sh 结尾&#xff0c;只是为了区…

《网络安全0-100》VPN 讲解

1、前言 VPN虽好可不要贪玩哦 2、VPN的概念和结构 VPN:虚拟专用网(virtual personal network)是利用internet等公共网络的基础设施&#xff0c;通过隧道技术&#xff0c;为用户提供的专用网络具有相同通信功能的安全数据通道。 ‘虚拟’是指用户无需建立各逻辑上的专用物理线…

​AVS3支持下的8K内容生产和传输应用实践

AVS标准经过20年发展&#xff0c;到AVS3这一代实现了国产标准从跟跑到领跑的突破。博雅睿视团队深度参与AVS3标准制定&#xff0c;开发的8K AVS3实时、离线编解码设备有力支持了我国8K超高清视频产业的落地和推广。 本次分享将会分为三个部分&#xff0c;第一部分重点介绍AVS标…

MusicGen配乐工具开源,教你怎么给抖音短视频配乐,助你涨粉1000!

大家好&#xff0c;我是千与千寻&#xff0c;好久不见了&#xff0c;很多粉丝私信我说&#xff0c;千寻哥这是去哪了&#xff1f;难道被野外捕捉了。 哈哈哈&#xff0c;当然不是了&#xff0c;千寻依然在学习ChatGPT的道路上和大家一起学习&#xff0c;一起搞钱&#xff01; 但…

TC8:TCP_MSS_OPTIONS_05-09

TCP_MSS_OPTIONS_05: Illegal option length for MSS in a SYN-ACK segment 目的 TCP能够处理SYN+ACK报文段中MSS选项的长度非法,而不会崩溃 可以正常地响应,就是不崩溃,这里指的应该是DUT发送ACK 测试步骤 Tester:让DUT侧的应用程序发起主动open调用DUT:发送SYNTester:…

C++类和对象--构造函数和析构函数

0.前言 在我们写某些需要动态开辟内存空间的函数时候&#xff0c;会经常忘记初始化、销毁&#xff0c;而且有时候程序返回的情况很多&#xff0c;那么销毁函数写起来就会很繁琐&#xff0c;那么有没有什么办法解决这个问题呢&#xff1f;答案是&#xff1a;当然有&#xff01;在…

Java类 继承

Java是一种面向对象的编程语言&#xff0c;类是Java中最基本的编程单元。一个类可以包含变量、方法和构造函数等。类的定义需要使用关键字class&#xff0c;例如&#xff1a; public class Person { private String name; private int age; public Person(St…

文心一言 VS 讯飞星火 VS chatgpt (44)-- 算法导论6.1 1题

一、在高度为h的堆中&#xff0c;元素个数最多和最少分别是多少? 文心一言&#xff1a; 在高度为 h 的二叉搜索树&#xff08;BST&#xff09;中&#xff0c;元素个数最多和最少的情况分别如下&#xff1a; 1.最多情况&#xff1a;当每个节点都包含两个子节点时&#xff0c…

CSS3-盒子模型-边距问题

1 清除默认内外边距 场景&#xff1a;浏览器会默认给部分标签设置默认的margin和padding&#xff0c;但一般在项目开始前需要先清除这些标签默认的margin和padding&#xff0c;后续自己设置 比如&#xff1a;body标签默认有margin&#xff1a;8px、p标签默…

一句提示词生成整个代码库——Gpt Engineer神级项目开源(附演示视频)

近日&#xff0c;一个名为Gpt Engineer神级项目开源&#xff0c;并迅速火爆全网。 短短几天内&#xff0c;该项目已经得到了25K的星星。 使用GPT-engineer进行人工智能软件开发&#xff0c;可以改变软件开发的未来。 在软件开发领域&#xff0c;一场巨大的革命正在开始。这一转…

【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(6月 22 日论文合集)

文章目录 一、检测相关(9篇)1.1 Wildfire Detection Via Transfer Learning: A Survey1.2 Polygon Detection for Room Layout Estimation using Heterogeneous Graphs and Wireframes1.3 Exploiting Multimodal Synthetic Data for Egocentric Human-Object Interaction Detec…

前端中的相关概念

谁道人生无再少&#xff0c; 门前流水尚能西。 桃花落尽胭脂透&#xff0c; 庭院无声五更鸡。 —— 杜甫《端午节》 HTML中class属性 HTML中class属性是一种用于为元素定义样式和标识的属性&#xff0c;以下是class属性的几种常见用法实例&#xff0c;包括标识元素、定义样…

利用OpenCV计算条形物体的长度

0、前言 在图像处理中&#xff0c;我们可能会遇到求一个线条长度的场景&#xff0c;比如&#xff0c;现在有一条裂缝&#xff0c;需要求其长度&#xff0c;或者有一个长条形的零件需要知道其长度。 本文利用OpenCV和skimage两个库&#xff0c;提供了一个解决方案。 1、解决步…

贪心法与动态规划的对比分析

高级算法设计课程论文 题 目&#xff1a;贪心法与动态规划的对比分析 作者姓名&#xff1a; 作者学号&#xff1a; 专业班级&#xff1a; 提交时间&#xff1a; 2023/6/3 目 录 1 引言 1 2 分析过程 2 2.1多段图的最短路径问题 2 2.2最小生成树问题 4 3动态规划与贪心法的对…

【动态规划算法练习】day3

文章目录 一、931. 下降路径最小和1.题目简介2.解题思路3.代码4.运行结果 二、64. 最小路径和1.题目简介2.解题思路3.代码4.运行结果 三、面试题 17.16. 按摩师1.题目简介2.解题思路3.代码4.运行结果 总结 一、931. 下降路径最小和 1.题目简介 931. 下降路径最小和 题目描述&…

浅析 GeoServer CVE-2023-25157 SQL注入

原创稿件征集 邮箱&#xff1a;eduantvsion.com QQ&#xff1a;3200599554 黑客与极客相关&#xff0c;互联网安全领域里 的热点话题 漏洞、技术相关的调查或分析 稿件通过并发布还能收获 200-800元不等的稿酬 更多详情&#xff0c;点我查看&#xff01; 简介 GeoServer是一个开…

十八、网络基础(一)

一、协议 &#xff08;一&#xff09;前置 协议其实是一种约定&#xff01;&#xff01;&#xff01; 计算机之间的传输媒介是光信号和电信号 , 通过 " 频率 " 和 " 强弱 " 来表示 0 和 1 这样的信息 , 要想传递各种不同的信息 , 就需要约定好双方的数据…

(自己动手开发自己的语言练手级应用)JSON(JavaScript Object Notation) 产生式(BNF)

写自己的开发语言时&#xff0c;很多人都会拿JSON当第一个练习对象 开源net json FJSON 解析工具https://dbrwe.blog.csdn.net/article/details/107611540?spm1001.2014.3001.5502 <json> :: <object> | <array> <object> :: "{" [ <me…

分布式学习第三天 nginx学习

目录 1. 一些基本概念 1.1 Nginx初步认识 1.2 正向/反向代理 1.3 域名和IP 2. Nginx 安装和配置 2.1 安装 2.2 配置 3. Nginx的使用 3.1 部署静态网页 3.2 反向代理和负载均衡 课外知识导读 1. URL和URI 2. DNS解析过程 复习 1. 一些基本概念 1.1 Nginx初步认识…

团体程序设计天梯赛-练习集L1篇②

&#x1f680;欢迎来到本文&#x1f680; &#x1f349;个人简介&#xff1a;Hello大家好呀&#xff0c;我是陈童学&#xff0c;一个与你一样正在慢慢前行的普通人。 &#x1f3c0;个人主页&#xff1a;陈童学哦CSDN &#x1f4a1;所属专栏&#xff1a;PTA &#x1f381;希望各…