前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >qcloudsms_py短信发送和easyquotation股票实时数据获取

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

作者头像
写一点笔记
发布2022-08-11 17:39:27
1.1K0
发布2022-08-11 17:39:27
举报
文章被收录于专栏:程序员备忘录程序员备忘录

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

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都给我们提供了,再此感谢小马哥~

本次文章就写到这里了~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 写点笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档