# 股票监控报警系统-for Tencent # 可设置股票池监控多支股票,可根据涨幅范围自动报警 import requests from bs4 import BeautifulSoup import win32api,win32con import re import time class stock: def stock(self,id): # 无限循环监控,直到警报拉起 while True: message = [] time_list= [] # 时间 now_time = time.strftime('[%Y-%m-%d %H:%M:%S]', time.localtime(time.time())) message.append(now_time[1:-2]) time_list.append(now_time[1:-2]) for i in range(len(id)): stock_id1 = id[i] url = 'http://gu.qq.com/' + stock_id1 + '/gp' soup=self.request(url) # 股票名称 stock_name=soup.find('h1', class_='col-1-1').get_text() print('------------------------\n', now_time[1:-2]) print('股票:',stock_name) # 股票代码 stock_id = soup.find('h1', class_='col-1-2').get_text() print('股票代码:', stock_id) # print('----------------') # 实时价格 realtime_price = soup.find('span',class_='data').get_text() zhangdie=soup.find('div',class_='item-2').find_all('span') # 涨跌价格 zhangdie_price=zhangdie[0].get_text() # 涨跌% zhangdie_percent=zhangdie[1].get_text() print('当前价:',realtime_price) print('涨跌价:',zhangdie_price) print('涨跌幅:',zhangdie_percent) # 所有信息(昨收,今开,,,振幅) all=soup.find('div',class_='col-2 fr').find_all('li') for a in range(12): a=all[a].get_text() print(a) # 根据涨跌百分比执行消息框 zhangdie_percent_re = ''.join(re.findall('(.*?)%', zhangdie_percent)) if float(zhangdie_percent_re)>zhangdie_percent_range[0] : message.append('\n%s:\n最新价:%s 涨跌额:%s 涨跌幅:%s %s %s %s %s %s %s\n' % (stock_name,realtime_price, zhangdie_price,zhangdie_percent,all[0].get_text(),all[1].get_text(),all[2].get_text(),all[3].get_text(),all[8].get_text(),all[9].get_text())) elif float(zhangdie_percent_re)<=zhangdie_percent_range[1]: message.append('\n%s:\n最新价:%s 涨跌额:%s 涨跌幅:%s %s %s %s %s %s %s\n' % (stock_name,realtime_price, zhangdie_price,zhangdie_percent,all[0].get_text(),all[1].get_text(),all[2].get_text(),all[3].get_text(),all[8].get_text(),all[9].get_text())) if message !=time_list: print('*******************************') message=''.join(message) win32api.MessageBox(0,message,'股价警报系统-按涨跌幅范围 '+str(zhangdie_percent_range[1])+'%'+'<x<'+str(zhangdie_percent_range[0])+'% 查询:' , win32con.MB_OK) break else: print('\n没有警报符合条件!本轮执行完毕!\n************************************') def request(self,url): req=requests.get(url) req.encoding='utf-8' soup=BeautifulSoup(req.text,'lxml') return soup stock=stock() # 股票池:国芳集团、蓝晓科技、光环新网 id=['sh601086','sz300487','sz300383'] # 设置生成警报的范围:range[0]~range[1] zhangdie_percent_range=[2,-2] stock.stock(id)
股票监控报警系统
猜你喜欢
转载自blog.csdn.net/zou407479250/article/details/80251631
今日推荐
周排行