关注股市,发家致富

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

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

一、配置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. ExtJs4学习(九)读写器reader、writer

    Ext.data.reader.Json JSON Reader是用一个代理来读取服务端响应的JSON格式的返回值. 一般用于将结果加载成一个存储集-例如我们将创建一些如下东西: Ext.define ...

  2. 使用 Cron4j 表达式 在 Solon 里开发定时任务

    cron4j 是一个轻量级的Java任务调度工具.cron4j-solon-plugin 是 solon 对 cron4j 的适配插件 添加 maven 引用 <dependency> & ...

  3. yoyogo v1.7.5 发布, 独立依赖注入DI

    YoyoGo v1.7.5 YoyoGo (Go语言框架) 一个简单.轻量.快速.基于依赖注入的微服务框架( web .grpc ),支持Nacos/Consoul/Etcd/Eureka/k8s / ...

  4. XXE学习(待更新)

    XXE基础 XXE(XMl External Injection),即XML外部实体注入漏洞. XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体得加载,导致可以加载恶意外部文件,造成文件读取 ...

  5. C语言:复合语句

    复合语句(compound statement)简称为语句块,它使用大括号把许多语句和声明组合到一起,形成单条语句.语句块与简单的语句不同,语句块不用分号当作结尾.用括号{}括起来组成的一个语句称复合 ...

  6. 如何快速更新长缓存的 HTTP 资源

    前言 HTTP 缓存时间一直让开发者头疼.时间太短,性能不够好:时间太长,更新不及时.当遇到严重问题需紧急修复时,尽管后端文件可快速替换,但前端文件仍从本地缓存加载,导致更新长时间无法生效. 对于这个 ...

  7. 在 Intenseye,为什么我们选择 Linkerd2 作为 Service Mesh 工具(Part.2)

    在我们 service mesh 之旅的第一部分中,我们讨论了"什么是服务网格以及我们为什么选择 Linkerd2?".在第二部分,我们将讨论我们面临的问题以及我们如何解决这些问题 ...

  8. MapReduce学习总结之架构

    一.MapReduce1.x架构 1)jobTracker:JT 作业的管理者 将作业分解成一堆任务:Task(MapTask和ReduceTask) 将任务分派给TaskTracker(TT)运行 ...

  9. java并发编程基础——线程同步

    线程同步 一.线程安全问题 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码.如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安 ...

  10. 微信小程序云开发-数据库-商品列表数据显示N条数据

    一.wxml文件 在wxml文件中,写页面和点击事件,添加绑定事件limitGoods  二.js文件 在js文件中写limitGoods(),使用.limit(3)表示只显示3条数据