版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/z564359805/article/details/90202202
#!/usr/bin/env python
# coding=utf-8
# 获取股票数据并播报和弹窗提示
import requests, re
import win32com.client
import datetime,time
from show_msg import TestTaskbarIcon
class Check():
def __init__(self):
self.speaker = win32com.client.Dispatch("SAPI.SpVOice")
self.headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36"}
# url = 'http://hq.sinajs.cn/?format=text&list=sh603616,sz002024'
hanjian_url = 'http://hq.sinajs.cn/list=s_sh603616' # 韩建河山
suning_url = 'http://hq.sinajs.cn/list=s_sz002123' # 梦网集团
# url = 'http://finance.sina.com.cn/realstock/company/sh603616/nc.shtml?from=BaiduAladin'
self.url_list = [hanjian_url, suning_url]
self.session = requests.Session()
self.session.keep_alive = False # 关闭多余链接
# 处理时间
def nowtime(self,t):
# 将字符串格式的日期时间转换成日期格式方便比较
# 获取本地时间
now_time = time.strftime("%H:%M:%S", time.localtime())
result_now_time = datetime.datetime.strptime(now_time, "%H:%M:%S")
# 当天的11:30:00时间转换成日期格式
eleven_half_time = "11:30:00"
result_eleven_half_time = datetime.datetime.strptime(eleven_half_time, "%H:%M:%S")
# 当天的13点时间转换成日期格式
thirteen_time = "13:00:00"
result_thirteen_time = datetime.datetime.strptime(thirteen_time, "%H:%M:%S")
# 当天的15点时间转换成日期格式
fifteen_time = "15:00:00"
result_fifteen_time = datetime.datetime.strptime(fifteen_time, "%H:%M:%S")
# print(result_thirteen_time <result_now_time<result_fifteen_time)
self.check(result_now_time, result_eleven_half_time, result_thirteen_time, result_fifteen_time,t)
# 处理check
def check(self, result_now_time, result_eleven_half_time, result_thirteen_time, result_fifteen_time,t):
while True:
# 如果现在时间小于11点半或者在13点和15点之间运行
if result_now_time < result_eleven_half_time or result_thirteen_time < result_now_time < result_fifteen_time:
print("======================")
for url in self.url_list:
# response = requests.get(url, headers=self.headers)
self.session.keep_alive = False # 关闭多余连接
response = self.session.get(url, headers=self.headers)
html = response.text
# 名称
name = html.split('"')[1].split(",")[0]
# 价格
price = float(html.split('"')[1].split(",")[1])
print(name, price)
t.showMsg(name, str(price))
self.speaker.Speak(name[:2]) # 播报名字
self.speaker.Speak(price) # 播报价格
else:
break
if __name__ == "__main__":
t = TestTaskbarIcon()
ch = Check()
ch.nowtime(t)
弹窗模块show_msg.py: https://blog.csdn.net/z564359805/article/details/90202245