Python 雪球API 股票价格监控预警程序脚本(伸手党)

最近买了持仓股太多,感觉上班摸鱼看股票的时候经常会被发现,于是写了一个python脚本专门用来监控价格程序,并打印在CMD。

本文主要解决了3个问题

  1. 信息来源,雪球的API接口,需要附上UA信息和关闭证书认证
  2. 间隔监控程序的设定和返回时间
  3. Windows的弹窗预警机制

2024年6月11日

新更新支持代理模式,GPT优化后的版本

import json
import time
import requests

# 禁用 SSL 验证警告
import urllib3
urllib3.disable_warnings()

# 代理设置
proxy = '127.0.0.1:10808'
proxies = {
    'http': 'socks5://' + proxy,
    'https': 'socks5://' + proxy
}

# 雪球 API URL
urls = "https://stock.xueqiu.com/v5/stock/realtime/quotec.json?symbol="

# 请求头设置
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36"
}

# 数据处理函数
def xueqiu_analysis_return(dat):
    jdat = json.loads(dat)
    rdat = []
    for n in jdat['data']:
        ndic = {}
        ndic['股票代码'] = n['symbol']
        ndic['现价'] = "{:.2f}".format(n['current'])
        ndic['涨幅百分比'] = n['percent']
        ndic['涨幅'] = (n['chg'])
        ndic['最高价'] = n['high']
        ndic['最低价'] = n['low']
        ndic['今日开盘'] = n['open']
        ndic['昨日收盘'] = n['last_close']
        ndic['换手'] = n['turnover_rate']
        rdat.append(ndic)
    return rdat

# 网络请求函数
def get_stock_data(stock_code):
    try:
        # r = requests.get(urls + stock_code, headers=headers,  verify=False)
        r = requests.get(urls + stock_code, headers=headers,  verify=False,proxies=proxies)
        r.raise_for_status()
        return xueqiu_analysis_return(r.text)
    except requests.exceptions.RequestException as e:
        print("Error getting data for stock", stock_code, ": ", e)
        return None

# 打印股票信息函数
def print_stock_info(stock_info):
    if stock_info:
        print(time.strftime("%H:%M:%S"), "-", stock_info[0].get('股票代码'), stock_info[0].get("现价"),
              stock_info[0].get("涨幅百分比"), stock_info[0].get('最高价'), stock_info[0].get('最低价'),stock_info[0].get('换手'))

# 主程序
while True:
    now_localtime = time.strftime("%H:%M:%S", time.localtime())
    if ("09:00:00" < now_localtime < "11:30:10") or ("13:00:00" < now_localtime < "15:00:10"):
        stock1 = get_stock_data('SZXXXXXX') #你要看的深交所股票
        stock2 = get_stock_data('SHXXXXXX') #你要看的上交所股票
        print_stock_info(stock1)
        print_stock_info(stock2)
        print("######################")
    else:
        break

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值