python获取股票数据并播报和右下角弹窗提示,利用datetime和win32com模块

版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载。 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

猜你喜欢

转载自blog.csdn.net/z564359805/article/details/90202202