qcloudsms_py短信发送和easyquotation股票实时数据获取

2022-08-11 17:39:27 浏览数 (1)

有时候我们做股票投资,需要实时盯盘。而盯盘的任务我们完全可以交给计算机,因此当信号出现的时候知会自个是很有必要的,但是前提是获取实时数据并判断是否发送短信提醒,这块作者在网上找了一写资料,算是留个记录,方便日后用到。

1、qcloudsms_py发送短信

作者购买了腾讯云的短信服务,大概买了1000条短信,腾讯云发送短信要用其提供的qcloudsms发送短信,所以我们就用pip或者idea自带的包管理工具都可以安装,这块我们主要贴一下发送短信的代码。

代码语言:javascript复制
from qcloudsms_py import SmsSingleSender
from qcloudsms_py.httpclient import HTTPError
import ssl
# 发送短信
class Qsms:
    # 短信应用SDK AppID
    appid = ********  # SDK AppID是1400开头
    # 短信应用SDK AppKey
    appkey = "********"
    # 需要发送短信的手机号码
    default_phone = ["******"]
    # 短信模板ID,需要在短信应用中申请
    template_id = 123123
    # 签名
    sms_sign = "*****"

    # 发送短信
    def sendSms(self, phones, code, price, operation):
        ssl._create_default_https_context = ssl._create_unverified_context
        ssender = SmsSingleSender(self.appid, self.appkey)
        # 当模板没有参数时,`params = []`
        params = []
        params.append(code)
        params.append(price   "-"   operation)
        if phones == None or phones == "":
            phonesTemp = self.default_phone
        else:
            phonesTemp = phones.split(",")
        for item in phonesTemp:
            try:
                # 签名参数不允许为空串
                ssender.send_with_param(86, item, self.template_id, params, sign=self.sms_sign, extend="", ext="")
                print("send to:"   item)
            except HTTPError as e:
                print(e)
            except Exception as e:
                print(e)

Qsms().sendSms("11111111","000009.sz","15.56","buy")

我们看一下发送短信的效果吧,这块作者购买了小米手环,方便提醒,由于短信模板的审核比较难,所以作者采用直接采用了登陆的模板,能看懂即可。

2、easyquotation实时获取股票数据

作者找了小半天,首先想到的是解析html,然后发现页面渲染是异步。没办法找到了东方财富web网站的一个ajax接口,如获至宝呀,结果发现请求的ur中有加密串,所以是没办法用到额,github上一顿搜都不好使。无奈最后去知乎上一搜,发现了easyquotation这个工具。尝试了一下发现这才是yyds呀。而且这个工具获取股票数据的姿势很强,能够弥补之前我遍历获取全网股票数据的耗时问题,当然这个还有待探索。今天发现easyquotation提供获取实时股票价格的能力,这才是我今天的核心目标。顺手还发现了一个开源交易工具easytrader(https://github.com/shidenggui/easytrader)看起来可以直接自动化交易了,以后有机会了再尝试吧。这块主要介绍如何获取实时股票数据。

easyquotation提供sina和tencent的财经数据源。通过对比发现tencent的数据返回了我必须要用到的换手率,为我大腾讯打call!废话不说了,直接上代码吧~

easyquotation的安装也是比较容易的,用pip或者idea自带的包管理工具都可以安装。

代码语言:javascript复制
import easyquotation
# 建议用tencet,因为其返回完了touver字段
quotation = easyquotation.use('tencent') # 新浪 ['sina'] 腾讯 ['tencent', 'qq']
#单只股票
b=quotation.real('sz000009') # 支持直接指定前缀,如 'sh000001'
print(b)

#多只股票
c=quotation.stocks(['sz000009', '162411'])
print(c)

应该说所需要的数据tencet都给我们提供了,再此感谢小马哥~

本次文章就写到这里了~

0 人点赞