Quantcast
Channel: CodeSection,代码区,Python开发技术文章_教程 - CodeSec
Viewing all articles
Browse latest Browse all 9596

50 行代码实现微信股价提示

$
0
0

昨晚上想做一个股价提示,一旦指定的股价到达预警价格就向自己的微信发一条信息,于是早上就把这东西搞定了。但也没想到原来只需要 50 行代码就搞定了。

据此操作的一切交易后果与本人无关,但如果这些对你有帮助,不妨通过 微信 或 支付宝 对我捐助。

实现功能

设置单支股票价格微信提示

测试版脚本支持定时开启,但尚不稳定

微信端截图:


50 行代码实现微信股价提示

Terminal 截图:


50 行代码实现微信股价提示
起因

前些天卖飞了一支股票,原因是没有一直盯盘,把单子一挂就忘了这事,到收盘才发现原来卖飞了。很多 app 不是支持买卖价格预警吗?但问题是,我并不会留心去打开这些 app,特别是我习惯于把所有 app 的提示全关了的情况下。下面这张截图应该很能说明问题:

所以推送到微信来提示我买卖价格已经到位,是一个非常不错的选择。

思路

最开始的思路是用新浪股票的接口,爬下来之后再推送到手机上。但是转念一想,股票价格的借口,当然是现成的轮子最好――那就不用说了,用 tushare 吧。

然后怎么推送到微信上呢?还有个轮子很实用,那就是 ItChat 。

有了这两个轮子,想实现“微信股价提示”也就并不难了。

具体代码

其实注释里把具体的代码思路都写得蛮清楚的了:

‘’’

author= ‘ipreacher’

import time

import itchat

import datetime

import tushare as ts

stock_symbol = input(‘请输入股票代码 \n> ‘)

price_low = input(‘请输入最低预警价格 \n> ‘)

price_high = input(‘请输入最高预警价格 \n> ‘)

登陆微信

def login():

itchat.auto_login()

获取股价并发送提醒

def stock():

time = datetime.datetime.now() # 获取当前时间

now = time.strftime(‘%H:%M:%S’)

data = ts.get_realtime_quotes(stock_symbol) # 获取股票信息

r1 = float(data[‘price’])

r2 = str(stock_symbol) + ‘ 的当前价格为 ‘ + str(r1)

content = now + ‘\n’ + r2

itchat.send(content, toUserName=’filehelper’)

print(content)

# 设置预警价格并发送预警信息 if r1 <= float(price_low): itchat.send('低于最低预警价格', toUserName='filehelper') print('低于最低预警价格') elif r1 >= float(price_high): itchat.send('高于最高预警价格', toUserName='filehelper') print('高于最高预警价格') else: itchat.send('价格正常', toUserName='filehelper') print('价格正常') 每 3 秒循环执行

if name == ‘ main ‘:

login()

while True:

try:

stock()

time.sleep(3)

except KeyboardInterrupt:

itchat.send(‘Stock_WeChat 已执行完毕!\n’

‘更多有意思的小玩意,请戳―->\n’

‘[ https://github.com/ipreacher/tricks ]’,

toUserName=’filehelper’)

print(‘Stock_WeChat 已执行完毕!\n’

‘更多有意思的小玩意,请戳―->\n’

‘[ https://github.com/ipreacher/tricks ]’)

break

‘’’

最后一段实现的,是每 3 秒循环执行上面这个微信股价提示――其实我还写了一个可以定时循环执行的脚本,但实际执行的时候发现这个脚本开销大,而且并不稳定。这个测试版的脚本在这里: Stock_WeChat_timer.py ,欢迎大家提供改进意见。

待解决问题

这里其实还是有不少东西没有完善:

手机端控制脚本开启关闭

对输入部分做严格检验

设置多支股票同时提示

重新构建 Stock_WeChat_timer.py

拓展前景

目前尚未看到有类似功能的东西(也可能只是我自己没看到过),其实上面这个脚本做一个 GUI 出来,应该是有实用前景的。

理论上说,只要是 tushanre 能搞得到的数据,都可以通过 itChat 设置微信提示,我想甚至可以是在 Terminal 里将数据可视化,然后推送给微信端。也就是说,理论上完全可以定制自己的微信股价提示,而且是功能及其强大的定制提示。


Viewing all articles
Browse latest Browse all 9596

Trending Articles