关注股市,发家致富

  问题:一天天盯着股市多累,尤其上班,还不能暴露,股票软件,红红绿绿,这么明显的列表页面,一看就知道在摸鱼。被领导发现饭碗就没了

  解决:搞个脚本监听一下自己关注的股票,一到价格就发个钉钉消息推送,上班摸鱼两不误。

一、配置centos的python版本

  1. centos7自带了python2,但是安装模块的时候各种报错,基本上都是版本的原因,pip install 默认都下载了最新版本的模块包,但是最新版本的模块包都不支持python2,需要python3,不闲累的话,可以指定版本号进行模块的安装。
  2. 两个等号用于指定版本 pip install pandas==0.19.0 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com (带上代理站点,安装起来嗖嗖的)
  3. 还是安装个python3比较靠谱,yum install python3
  4. 不同版本的模块安装:
  5. python2 -m pip install 模块名称
    python3 -m pip install 模块名称 

二、添加钉钉机器人

  1.                       
  2.               
  3. 添加完机器人后,获取webhook地址

三、编写python脚本

  

# encoding: utf-8

import requests
import tushare, time
import datetime # 消息内容,url地址
from pandas._libs import json # 机器人回调地址
webhook = 'https://oapi.dingtalk.com/robot/send?access_token=23e2b46e8b55a0573a0e92a26b427281f9aa85f387593c5e9f1b3c889c141148' # 开市时间、闭市时间
# 09:20 11:30 13:00 15:00
amStart = 920
amEnd = 1130
pmStart = 1300
pmEnd = 1500 # 默认当前状态为闭市
nowStatus = 'off' def dingtalk(msg):
print('【钉钉】:', msg)
headers = {'Content-Type': 'application/json; charset=utf-8'}
data = {'msgtype': 'text', 'text': {'content': msg}, 'at': {'atMobiles': [], 'isAtAll': False}}
post_data = json.dumps(data)
response = requests.post(webhook, headers=headers, data=post_data)
return response.text def getrealtimedata(share):
data = tushare.get_realtime_quotes(share.code)
share.name = data.loc[0][0]
share.open = float(data.loc[0][1])
share.price = float(data.loc[0][3])
share.high = float(data.loc[0][4])
share.low = float(data.loc[0][5])
share.describe = '股票【{}{}】,当前【{}】,今日最高【{}】,今日最低【{}】'.format(share.code, share.name, share.price, share.high, share.low)
return share class Share():
def __init__(self, code, buy, sale):
self.name = ''
self.open = ''
self.price = ''
self.high = ''
self.low = ''
self.describe = ''
self.code = code
self.buy = buy
self.sale = sale
self.num = 0 def main(sharelist):
for share in sharelist:
stock = getrealtimedata(share)
print(stock.describe)
if stock.price == 0:
continue
if stock.price <= stock.buy:
# 如果连续提示10次,就不再提示
if share.num > 5:
continue
dingtalk('【价格低于[{}]赶紧买入】{}'.format(share.buy, stock.describe))
print(share.num)
share.num += 1 print(share.num)
elif stock.price >= stock.sale:
dingtalk('【价格高于[{}]赶紧卖出】{}'.format(share.sale, stock.describe))
else:
print('静观其变……') # 重置计数器num
def reset(sharelist):
for share in sharelist:
share.num = 0 # 股票编号 买价提示,,卖价提示
# 002273水晶光电
share1 = Share("002273", 13.4, 15)
# 600100同方股份
share2 = Share("600100", 5.92, 6.03)
# 000810创维数字
share3 = Share("000810", 7.66, 7.77)
sharelist = [share1, share2, share3]
while True:
now = datetime.datetime.now()
dayOfWeek = now.isoweekday()
print(dayOfWeek)
# 工作日
if dayOfWeek < 6:
print("workday")
nowTimeInt = int(now.strftime("%H%M"))
print("当前时间:", nowTimeInt)
# 判断时间
if amStart < nowTimeInt < amEnd or pmStart < nowTimeInt < pmEnd:
if nowStatus == 'off':
reset(sharelist)
nowStatus = 'on'
# dingtalk('股票开市啦!!!!!')
main(sharelist)
else:
if nowStatus == 'on':
nowStatus = 'off'
# dingtalk('股票闭市啦!!!!!')
else:
print("weekend")
  # 间隔5s执行一次  
time.sleep(5)

  

四、逐步更新优化

python脚本监控股票价格钉钉推送的更多相关文章

  1. Jenkins 实现Gitlab事件自动触发Jenkins构建及钉钉消息推送

    实现Gitlab事件自动触发Jenkins构建及钉钉消息推送 实践环境 GitLab Community Edition 12.6.4 Jenkins 2.284 Post build task 1. ...

  2. Jenkins构建项目后发送钉钉消息推送

    前言 钉钉是我们日常工作的沟通工具,在Jenkins构建持续集成项目配合钉钉机器人的功能,可以让我们在持续集成测试环节快速接收到测试结果的消息推送. 一:新建一个钉钉群,选择自定义机器人 二:添加机器 ...

  3. Jenkins环境搭建(7)-集成钉钉消息推送

    在去年的时候,搭建了一套Jenkins环境,基本功能已实现,可以通过如下地址查阅. Jenkins环境搭建(1)-下载与安装 Jenkins环境搭建(2)-搭建jmeter+ant+jenkins自动 ...

  4. Java项目中集成钉钉机器人推送消息提醒

    前言: 项目中有一个需求,当有新订单产生的时候,希望能够及时通知到业务相关人员进行处理,整体考虑了一下,选用了钉钉机器人提醒功能(公司内部主要也是使用钉钉进行通讯). 操作: 主要分为两部分进行处理: ...

  5. DingTalk钉钉消息推送(.net core 3 WebApi尝鲜记)

    我发了个朋友圈,Swagger真他妈的牛B,解放了开发API的码农,麻麻再也不用担心我们写API文档耽误回家吃饭了. /// <summary> /// 发送钉钉消息 /// </s ...

  6. Python3使用钉钉机器人推送消息(签名方式)

    import time import hmac import hashlib import base64 import urllib import json import requests impor ...

  7. Redis之使用python脚本监控队列长度

    编辑python脚本redis_conn.py #!/usr/bin/env python #ending:utf-8 import redis def redis_conn(): pool = re ...

  8. zabbix 调用python脚本监控 磁盘剩余空间(创建模版,创建监控项,创建触发器)

    主要 记录一下  使用zabbix 自己创建模版.监控项.触发器,并调用python脚本. 需求: 监控备份机磁盘剩余空间(windows系统) 一.安装zabbix_agent 比较简单 修改配置文 ...

  9. 利用python对微信自动进行消息推送

    from wxpy import * #该库主要是用来模拟与对接微信操作的 import requests from datetime import datetime import time impo ...

随机推荐

  1. K8S(Kubernetes)学习笔记

    Kubernetes(k8s)是google提供的开源的容器集群管理系统,在Docker技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理 ...

  2. HCNA Routing&Switching之动态路由基本概念

    前文我们了解了静态路由的相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14965433.html:今天我们来聊一聊动态路由相关概念: 首先我们要清楚什 ...

  3. LVM磁盘管理实战案例

    前言:这是关于centos/linux上的LVM磁盘上的扩容,缩减,磁盘类型等收集做的案例 至于ubuntu系统的磁盘扩容参考:https://www.jianshu.com/p/5dcfcec687 ...

  4. 整理C#获取日期显示格式

    C#获取当前日期的几种显示格式 有时候需要用一些不常用的日期格式时,总是要去网上查找,很多都是复制粘贴,还不完整.就整理一下. DatetimeTextBox.Text += DateTime.Now ...

  5. 从新建文件夹开始构建UtopiaEngine(2)

    本篇序言 摸了两个月的鱼,又一次拾起了自己引擎的框架,开始完善引擎系统,如果非要用现实中的什么东西比喻的话,那么我们目前实现的框架连个脚手架都不是.把这项目这样晾着显然不符合本人的风格,而且要作为毕业 ...

  6. excle名字后面直接跟别的出来

    名字后面直接跟别的出来 =IF($E6="","",VLOOKUP(E6,通讯录!$B$2:$D$1000,3,0)) $E6:是填写位置的地方 VLOOKUP ...

  7. Gauge自动化测试框架的安装和入门

  8. C语言:编译具体过程及隐藏

    对于平常应用程序的开发,很少有人会关注编译和链接的过程,因为我们使用的工具一般都是流行的集成开发环境(IDE),比如 Visual Studio.Dev C++.C-Free 等.这些功能强大的 ID ...

  9. P2015

    二叉苹果树 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include< ...

  10. 【洛谷P1281 书的复制】二分+动态规划

    分析 两个做法,一个DP,一个是二分. 二分:也就是二分枚举每个人分到的东西. DP:区间DP F[I][J]表示前i本书分给j个人用的最短时间 由于每一次j的状态由比j小的状态得出,所以要先枚举j, ...