最近全球股市开始回暖,之前清仓的股民现在又陆续开始建仓。股市交易时间,一般也是上班时间,频繁的查看股票软件不仅会影响工作效率,也容易被老板以为工作不饱和。所以,我们就借助python的强大功能,把提前设置好的股票信息推送到「钉钉」上,毕竟钉钉是一个办公软件,老板看见了还会以为你在认真工作。

1、通过接口获取股市实时信息

我们使用的是新浪股市提供的接口,这个接口是这样的:

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

等于号后面的就是我们想要监控的股票代码,如果是上海交易所的股票就是「sh+股票代码」,如果是深圳交易所的股票就是「sz+股票代码」,通过python的requests模块可以获取信息:

import requestsr = requests.get('http://hq.sinajs.cn/list=sz300287')
res = r.text
print(res)

得到的结果是这样的:

var hq_str_sz300287="飞利信,4.320,4.320,4.430,4.470,4.320,4.420,4.430,50815817,
224559304.490,1717400,4.420,374700,4.410,537700,4.400,110400,4.390,258800,
4.380,176600,4.430,364100,4.440,344900,4.450,198600,
4.460,360547,4.470,2020-04-30,15:00:03,00";

上面这个字符串由许多数据拼接在一起,不同含义的数据用逗号隔开了,我们按照顺序号从0开始,看一下各个字符串的意义:

0:”飞利信”,股票名字;
1:”4.320″,今日开盘价;
2:”4.320″,昨日收盘价;
3:”4.430″,当前价格;
4:”4.470″,今日最高价;
5:”4.320″,今日最低价;
6:”4.420″,竞买价,即“买一”报价;
7:”4.430″,竞卖价,即“卖一”报价;
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:”2020-04-30″,日期;
31:”15:05:32″,时间;

这样我们就拿到了所需股票的实时信息。

2、计算股票涨跌幅,并判断是否需要报警

我们假设,当股票涨幅或者跌幅超过 3% 的时候才触发报警,毕竟对于价值投资者来说,微小的波动不足以引起重视。那么我们首先要算一下,今天的涨跌幅,如果超过了设定值,就引发报警:

r = requests.get('http://hq.sinajs.cn/list=sz300287')
res = r.text
result = res.split('=')[1]  # 截取等号之后的数据部分name = result.split(',')[0].replace('"', '')  # 股票名称
start_price = float(result.split(',')[2])  # 昨日收盘价
now_price = float(result.split(',')[3])  # 当前价格
rate = (now_price-start_price)/start_price * 100  # 涨跌幅度if abs(rate) > 0.02:content = "股票报警:当前股票「{0}」, 涨幅「{1:.2f}%」, 请注意!".format(name, rate)print(content)

看一下打印的结果:

现在结果已经出来了,下一步就要发送到钉钉了。

3、配置钉钉接口,发送报警信息

首先,给钉钉群添加机器人,报警信息就是由机器人发送:

设置机器人名称和报警内容关键词:

获得机器人接口,之后我们把上一步获得的报警信息,通过这个接口发送出去:

if abs(rate) > 0.02:content = "股票报警:当前股票「{0}」, 涨幅「{1:.2f}%」, 请注意!".format(name, rate)print(content)json_data = {"msgtype": "text","text": {"content": content,  # 发送内容},"at": {"atMobiles": [],"isAtAll": False  # 是否要@某位用户}}ding_url = 'https://oapi.dingtalk.com/robot/send?access_token=' 'dfb241394310aeb3a94d32f1b359b7382429f4b435f9f0eb605979f50b21e857'requests.post(url=ding_url, json=json_data)print('报警信息发送成功。')

最终发送完成:

以上就是使用python发送报警信息的流程,代码还有很多可以定制的地方,比如说:多久监控一次、涨幅超过多少会报警、报警是否要”@“ 某位用户等等。之后我会把代码放到服务器上,有需要的朋友可以在评论区说一下你想监控哪只股票。

欢迎关注「趣谈数据分析」微信公号号,学习更多数据分析内容。

python 钉钉机器人发送图片_Python结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现...相关推荐

  1. python 股票行情_Python结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现...

    最近全球股市开始回暖,之前清仓的股民现在又陆续开始建仓.股市交易时间,一般也是上班时间,频繁的查看股票软件不仅会影响工作效率,也容易被老板以为工作不饱和.所以,我们就借助python的强大功能,把提前 ...

  2. 钉钉机器人关键词应答_Python结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现...

    最近全球股市开始回暖,之前清仓的股民现在又陆续开始建仓.股市交易时间,一般也是上班时间,频繁的查看股票软件不仅会影响工作效率,也容易被老板以为工作不饱和.所以,我们就借助python的强大功能,把提前 ...

  3. 钉钉机器人发送图片 python_python封装钉钉Webhook机器人消息发送逻辑

    python封装钉钉Webhook机器人消息发送逻辑,目前仅支持python2. 安装 pip install dingmsgapi 初始化实例 from ding_msg_api import Ms ...

  4. 钉钉群机器人发送图片不显示问题

    图片格式: 必须是网络路径 必须是jpg格式

  5. python 钉钉机器人发送图片,python操作钉钉机器人发送各种消息

    python操作钉钉机器人发送各种消息 python操作钉钉机器人发送各种消息 使用python,操作钉钉群聊机器人发送消息 环境:python3.x 使用模块:requests,json 钉钉机器人 ...

  6. python企业微信机器人发送文件

    python企业微信机器人发送文件 import requests#传入文件 def post_file(id_url,wx_url,file):data = {'file': open(file,' ...

  7. python 钉钉机器人发送图片_利用Python自动发送钉钉数据消息

    现在大部分公司都使用钉钉作为内部的主要沟通工具,钉钉消息基本都上都能快速有效的被阅读,打开率会比邮件高上不少.所以准备使用钉钉来播报平台每日的成交额,并附上一些鼓励的话和图片.起到一个激励团队的作用 ...

  8. 企业微信机器人脚本python_python3 企业微信机器人发送图片

    最近在搞闽政通各种监控,使用paramiko推送脚本取回监控数据入库,写脚本练练脑 刚好企业微信机器人有发送图片功能,简单的试了下,监控并发连接数,搞可视化的图. 想想用机器人斗图一定很happy.. ...

  9. Python实现企业微信发送图片

    # -*-coding:utf-8 -*- __author__ = 'yangxin_ryan' import requests, json import urllib3 urllib3.disab ...

最新文章

  1. 更快的 Maven 来了!!!性能提升 300%
  2. linux centos7 设置开机 进入命令行 不进入图形界面
  3. 游戏框架设计的一些心得
  4. VTK:可视化算法之OfficeTube
  5. 直播发送信息 说服务器开小差,【直播课答疑】上课开小差、注意力不集中、成绩差,有办法对付!(31讲)...
  6. SpringBoot:与MyBatis合作
  7. linux ntp时间同步
  8. java如何实现开机启动,怎样实现开机启动holer
  9. 方格取数(1)(HDU-1565)
  10. 乐视网1354项商标1.3亿元成交,接盘的是这家公司
  11. 《推荐系统笔记(十三)》购物篮分析 —— 基于关联规则的topN推荐
  12. 通达信资金净流入公式_通达信当天净流入公式,通达信资金净流入公式
  13. 如何编写投标项目系统设计方案?
  14. unity 角色控制器CharaterController脚本
  15. element-ui组件的下载与安装
  16. 姜小白的Python日记Day15 系统模块详解2 sys模块和os模块
  17. 第九层(16):STL终章——常用集合算法
  18. 线性代数之——四个基本子空间
  19. 【Tips】史上最全H1B问题合辑——保持H1B身份终级篇
  20. HDU 4937Lucky Number

热门文章

  1. MySQL两千万数据优化迁移
  2. Apache Spark 1.5发布,新特性一览
  3. 五个在线图形工具创建简单的设计元素
  4. 一个公式来说明加接圈的作用和缺点
  5. halcon对光源打光不均匀进行平场矫正
  6. Robot Application Builder
  7. html 自动触发 事件,js自动触发事件自定义事件
  8. 最常见的读入数据方法集锦
  9. C++和Rust_后端程序员一定要看的语言大比拼:Java vs. Go vs. Rust
  10. java equals 的区别_java中equals和==的区别是什么-百度经验