找回密码
 立即注册
搜索
查看: 82|回复: 2

[教程系列] [NODE-RED]写了个股票节点,获取上证,深证,北证股票数据,这下可以一路长虹了

[复制链接]

37

主题

686

回帖

4964

积分

论坛元老

积分
4964
金钱
4231
HASS币
60
发表于 昨天 11:08 | 显示全部楼层 |阅读模式

业余炒股不喜欢盯盘(主要是也看不懂),如果股票到了预设价位能有通知,或者打游戏时扫一眼就能看到实时股价,那该多方便。

于是写了个股票节点,可获取上海、深证、北京的证券交易数据。

这配合我的自制随身股票机,那绝配呀。

图片1
图片2
图片3


下面是节点信息,在面板里搜 node-red-contrib-sina-finance 安装即可。

node-red-contrib-sina-finance

Node-RED 节点用于获取新浪财经股票行情数据。

安装

在您的 Node-RED 用户目录中运行以下命令:

npm install node-red-contrib-sina-finance

或者通过 Node-RED 管理面板安装该节点。

功能

此节点使用新浪财经 API 获取实时股票行情数据。主要功能有:

  • 获取股票实时价格、交易量等基本行情数据
  • 获取买卖盘5档报价和数量
  • 支持多个股票代码批量查询
  • 支持手动触发更新
  • 支持中英文输出格式切换
  • 完整的 JSON 格式输出

使用方法

基本配置

  1. 从节点面板中拖拽 "新浪股票" 节点到工作流中
  2. 双击节点进行配置:

    • 名称:节点显示名称(可选)
    • 股票代码:需要查询的股票代码,格式为 sh 或 sz 开头,多个代码用逗号分隔,如 sh600001,sz000001
    • 输出语言:选择输出数据使用中文键名还是英文键名

股票代码格式

  • 上海证券交易所:sh 开头,如 sh600001,也可以直接使用数字 600001
  • 深圳证券交易所:sz 开头,如 sz000001,也可以直接使用数字 000001
  • 北京证券交易所:bj 开头,如 bj430047,也可以直接使用数字 430047

输入

  • 节点可接收任何输入消息触发数据获取
  • 通过 msg.payloadmsg.stockCodes 可动态设置查询的股票代码
  • 通过 msg.outputLanguage 可动态设置输出语言("en"为英文,"zh"为中文)

输出

节点输出 msg.payload 包含一个数组,每个元素对应一支股票的数据:

英文输出示例:

[
  {
    "code": "sh600001",
    "name": "邯郸钢铁",
    "open": 3.44,
    "previousClose": 3.42,
    "price": 3.49,
    "high": 3.55,
    "low": 3.41,
    // ... 更多数据
    "date": "2023-05-30",
    "time": "15:00:00"
  }
]

中文输出示例:

[
  {
    "股票代码": "sh600001",
    "股票名称": "邯郸钢铁",
    "开盘价": 3.44,
    "昨收价": 3.42,
    "当前价格": 3.49,
    "最高价": 3.55,
    "最低价": 3.41,
    // ... 更多数据
    "日期": "2023-05-30",
    "时间": "15:00:00"
  }
]

示例流

以下示例展示如何使用此节点获取股票数据并在调试面板中显示:

[
  {
    "id": "f6f2187d.f17ca8",
    "type": "sina-stock",
    "z": "2b9467.8f7c0cc8",
    "name": "平安银行数据",
    "stockCodes": "sz000001",
    "outputLanguage": "zh",
    "x": 290,
    "y": 220,
    "wires": [
      [
        "c6ea57bc.2498c8"
      ]
    ]
  },
  {
    "id": "c6ea57bc.2498c8",
    "type": "debug",
    "z": "2b9467.8f7c0cc8",
    "name": "股票数据",
    "active": true,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "payload",
    "targetType": "msg",
    "x": 500,
    "y": 220,
    "wires": []
  },
  {
    "id": "eacf6d7.88b787",
    "type": "inject",
    "z": "2b9467.8f7c0cc8",
    "name": "手动触发",
    "props": [
      {
        "p": "payload"
      }
    ],
    "repeat": "",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "topic": "",
    "payload": "",
    "payloadType": "date",
    "x": 120,
    "y": 220,
    "wires": [
      [
        "f6f2187d.f17ca8"
      ]
    ]
  }
]

许可证

注意: 本节点为测试用途,请于 24 小时内删除,所使用的 API 为网络公开搜集的新浪财经 API,请遵守其使用规定。

该项目基于 MIT 许可证发布。

回复

使用道具 举报

3

主题

100

回帖

789

积分

管理员

积分
789
金钱
686
HASS币
0
发表于 昨天 14:20 | 显示全部楼层
大佬,直接可使用MD格式,【md】内容【/md】,【】改为[]。
回复

使用道具 举报

22

主题

653

回帖

3103

积分

论坛元老

积分
3103
金钱
2428
HASS币
0
发表于 昨天 19:03 | 显示全部楼层
感谢大佬,,之前用第三方的API  服务商提供的数据,数据不及时,而且一次请求给出了我所有股票的信息,然后再筛选。但也能用上,
不过用上你的节点后就方便很多了,直接输入需要的股票代码即可数据量也小很多
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-6-30 13:46 , Processed in 0.169339 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表