2025年3月16日 星期日 甲辰(龙)年 月十五 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

python获取股票数据并播报,利用datetime和win32com模块

时间:12-10来源:作者:点击数:29

python获取股票数据并播报,利用datetime和win32com模块

  • #!/usr/bin/env python
  • # coding=utf-8
  • # 获取股票数据并播报
  • import requests,re
  • import win32com.client
  • import datetime
  • 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_sz002024' # 苏宁易购
  • # url = 'http://finance.sina.com.cn/realstock/company/sh603616/nc.shtml?from=BaiduAladin'
  • self.url_list = [hanjian_url,suning_url]
  • # 当前的时间分钟数减去7分钟然后再减去46秒后得出的时间
  • # (datetime.datetime.now()-datetime.timedelta(minutes=7)-datetime.timedelta(seconds=46)).strftime('%H:%M:%S')
  • # 处理时间
  • def nowtime(self):
  • # time_url = 'http://www.beijing-time.org/'
  • time_url = 'http://time.beijing-time.org/time.asp'
  • response = requests.get(time_url, headers=self.headers)
  • time_html = response.text
  • time_list = time_html.split(";")
  • patt = re.compile(r"\d+")
  • year = patt.findall(time_list[1])[0]
  • month = patt.findall(time_list[2])[0]
  • day = patt.findall(time_list[3])[0]
  • hour = patt.findall(time_list[5])[0]
  • minute = patt.findall(time_list[6])[0]
  • sec = patt.findall(time_list[7])[0]
  • # 获取北京标准时间
  • # self.now_time = "%s:%s:%s" % (hour, minute, sec)
  • self.now_time = "%s-%s-%s %s:%s:%s" % (year,month,day,hour, minute, sec)
  • # 将字符串格式的日期时间转换成日期格式方便比较
  • result_now_time = datetime.datetime.strptime(self.now_time, "%Y-%m-%d %H:%M:%S")
  • # 当天的11:30:00时间转换成日期格式
  • eleven_half_time = "%s-%s-%s 11:30:00" %(year,month,day)
  • result_eleven_half_time = datetime.datetime.strptime(eleven_half_time, "%Y-%m-%d %H:%M:%S")
  • # 当天的13点时间转换成日期格式
  • thirteen_time = "%s-%s-%s 13:00:00" %(year,month,day)
  • result_thirteen_time = datetime.datetime.strptime(thirteen_time, "%Y-%m-%d %H:%M:%S")
  • # 当天的15点时间转换成日期格式
  • fifteen_time = "%s-%s-%s 15:00:00" %(year,month,day)
  • result_fifteen_time = datetime.datetime.strptime(fifteen_time, "%Y-%m-%d %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)
  • # 处理check
  • def check(self,result_now_time,result_eleven_half_time,result_thirteen_time,result_fifteen_time):
  • 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)
  • html = response.text
  • # 名称
  • name = html.split('"')[1].split(",")[0]
  • # 价格
  • price = float(html.split('"')[1].split(",")[1])
  • print(name,price)
  • self.speaker.Speak(name) # 播报名字
  • self.speaker.Speak(price) # 播报价格
  • else:
  • break
  • if __name__ == "__main__":
  • ch = Check()
  • ch.nowtime()
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐