3步搞定A股实时监控脚本:用 pysnowball 雪球数据接口快速上手

发布时间:2026/10/9 7:57:24

3步搞定A股实时监控脚本:用 pysnowball 雪球数据接口快速上手 3步搞定A股实时监控脚本用 pysnowball 雪球数据接口快速上手【免费下载链接】pysnowball雪球股票数据接口 python edition项目地址: https://gitcode.com/gh_mirrors/py/pysnowball每天开盘前你是不是也要手动打开好几个页面先看自选股涨跌再翻一遍持仓基金净值最后还要核对几只重点股票的成交量我最初也是这么干的直到我把这套流程写成一个脚本用 pysnowball雪球股票数据接口的 Python 版一次性拉回所有数据。这篇文章就把这套从配置到跑通的完整路径拆给你看全程只需要三件套装库、配 token、写调用。自己爬网页 VS 现成数据接口在动手之前先回答一个绕不开的问题为什么不自建爬虫抓行情我自己踩过坑把两种方案的关键差异整理成一张表对比项手写爬虫pysnowball 数据接口接口稳定性网页改版就失效要持续维护封装雪球接口结构稳定数据格式HTML 里自己抠字段直接返回 JSON字段成体系覆盖面通常只能拿到行情行情、财务、基金、资金流、F10 全覆盖上手成本要处理请求头、Cookie、反爬一个函数一个接口一句话总结爬虫是把时间花在怎么拿到数据上而用 pysnowball 是把时间花在用数据做什么上。下面是它的实际能力清单代码在仓库的pysnowball/目录下按模块划分__init__.py里统一导出了全部函数实时行情quotec、quote_detail、pankou、kline日/周/月/60分/30分/1分财务数据income、balance、cash_flow、indicator、business三大报表加核心指标资金流向capital_flow当日分时、capital_history历史日线、capital_assort成交分布基金数据fund_info、fund_nav_history、fund_growth、fund_asset等 9 个接口F10 专题top_holders十大股东、bonus分红、main_indicator主要指标等首次配置三步走安装、token、连通性验证第一步安装并导入安装命令和普通 Python 库没有区别pip install pysnowball然后以ball为别名导入后面所有接口都从这个命名空间调用import pysnowball as ball第二步配置雪球 token这是整个上手过程中唯一容易卡住的环节。原理很简单pysnowball 底层请求雪球接口时需要携带你登录雪球的 Cookie 凭证核心是两个值——xq_a_token和u。获取方式浏览器登录雪球网页版按 F12 打开开发者工具在 Network 面板任意请求的 Cookie 里就能找到它们。拿到后调用set_token写入环境变量pysnowball/token.py的实现就是把值存进XUEQIUTOKENball.set_token(xq_a_token你的token值;u你的用户id)注意两点一是这个 token 有有效期过期后脚本会报错届时重新抓取即可二是不要把它写进公开仓库建议放进本地配置文件。第三步用一次性接口验证连通性有个小技巧值得先记住行情快照quotec走的是fetch_without_token见pysnowball/utls.py不校验 token很适合拿来当网没网、库装没装好的冒烟测试# 上证指数快照无需token即可返回 print(ball.quotec(SH000001))这一步能跑通说明环境没问题。接下来需要 token 的接口就都能放心使用了。实战一把雪球自选股拉成一张涨跌表很多人不知道watch_list可以直接读取你雪球账号下的自选股列表配合quotec批量取行情十几行代码就是一个今日自选监控import pysnowball as ball # 1. 读取自选股列表返回的分组信息里category1 是股票分组 watch ball.watch_list()[data][stocks] my_group [g for g in watch if g[id] -1][0] # id-1 代表全部分组 # 2. 取该分组下的股票代码 stocks ball.watch_stock(my_group[id])[data][stocks] symbols ,.join(s[symbol] for s in stocks) # 逗号拼接一次批量请求 # 3. 批量获取行情只保留关心的字段 quotes ball.quotec(symbols)[data] for q in quotes: print(f{q[name]:8} 现价 {q[current]:8.2f} 涨跌幅 {q[percent]:6.2f}% 成交量 {q[volume]})这段代码的讲解价值在于自选列表和行情是两个独立接口先取名单、再批量取价中间用逗号把代码拼成一个字符串一次请求搞定全部股票比逐个调用高效得多。实战二把基金净值走势变成可视化报告股票看完再看基金。基金类接口走的是蛋卷数据源utls.py中的fetch_danjuan_fund不需要 token非常省心。下面这段代码抓取一只基金的近期净值并顺手算出区间收益import pysnowball as ball from datetime import datetime def fund_snapshot(fund_code, pages3): # 1. 基金基本信息名称、最新净值、各周期涨跌幅都在 fund_derived 里 info ball.fund_info(fund_code)[data] derived info[fund_derived] print(f基金{info[fd_name]} 最新净值{derived[unit_nav]}) print(f近1月 {derived[nav_grl1m]}% 近3月 {derived[nav_grl3m]}% 近1年 {derived[nav_grl1y]}%) # 2. 分页拉取历史净值默认每页10条这里取3页共30天 history [] for page in range(1, pages 1): data ball.fund_nav_history(fund_code, pagepage, size10) history.extend(data[data][items]) # 3. 转成日期-净值序列并计算区间收益率 series sorted( (datetime.fromtimestamp(int(i[nav_date]) / 1000), float(i[unit_nav])) for i in history if i.get(unit_nav) ) start_d, start_v series[0] end_d, end_v series[-1] print(f区间 {start_d:%Y-%m-%d} ~ {end_d:%Y-%m-%d}) print(f累计收益 {(end_v / start_v - 1) * 100:.2f}%) fund_snapshot(008975)这段代码的关键点有三个分页参数page/size控制拉取量时间戳毫秒转日期需要// 1000排序保证净值按时间递增收益率计算才不出错。fund_nav_history的完整参数说明可以在仓库的APIs/fund_nav_history.md文档里找到。进阶批量场景下的限流与报错排查清单脚本跑通之后如果你开始批量拉全市场数据会遇到两类问题请求太频繁被限流、token 过期导致报错。这里给出一份可照抄的排查清单报错 1未设置TOKENpysnowball/cons.py里定义了这个错误信息触发原因是set_token没调用或环境变量丢失。检查代码里是否在导入后立即设置了 token且拼写与 Cookie 中的字段名完全一致。报错 2接口返回异常或非 200utls.py的fetch在非 200 状态时会直接抛出异常。最常见的原因是 token 失效——重新登录雪球抓取最新 Cookie 即可。其次检查网络代理是否拦截了stock.xueqiu.com域名。报错 3请求频繁被限流批量场景建议自己加一层限流器控制每分钟请求数避免触发风控import time from collections import deque class RateLimiter: def __init__(self, max_per_minute30): self.max max_per_minute self.stamps deque() def wait(self): now time.time() while self.stamps and now - self.stamps[0] 60: self.stamps.popleft() if len(self.stamps) self.max: sleep 60 - (now - self.stamps[0]) 1 time.sleep(max(sleep, 0)) self.stamps.append(time.time()) # 用法每次调用前 limiter.wait() limiter RateLimiter(max_per_minute30) for code in stock_list: limiter.wait() data ball.quote_detail(code)另外重试机制也很实用遇到偶发网络抖动包一层带退避的重试即可不必每次手动重跑。把脚本变成你的每日开盘前习惯回头看这套流程的全部价值就是把手动刷新十几个页面压缩成了运行一个脚本自选股行情、持仓基金净值、区间收益一次性输出。pysnowball 值得一试的理由很实在——安装一条命令、配置一个 token、调用就是一个个函数数据从行情到财务到资金流全覆盖足够支撑个人量化研究和投资跟踪的大部分需求。想进一步探索仓库里还有几份现成的接口文档可以直接查阅基金类接口见APIs/目录下的fund_*.mdK 线返回结构见APIs/realtime_kline.md全部函数签名以pysnowball/__init__.py的导出为准。如果你也想加入量化交流可以扫描项目根目录下的wx.png二维码搜索宽客笔记找到组织。现在就动手吧git clone https://gitcode.com/gh_mirrors/py/pysnowball装上依赖、配好 token把上面两个实战脚本改成你自己的自选列表明天开盘前让数据替你打工。【免费下载链接】pysnowball雪球股票数据接口 python edition项目地址: https://gitcode.com/gh_mirrors/py/pysnowball创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/7 21:22:51

026、变量快速监视与观察

上周处理一个转储问题,程序按客户代码汇总金额,跑着跑着某个内表行的 net_value 字段就成了负数。我反复加断点单步走,盯着变量列表翻来覆去,眼睛都看花了,就是找不到谁动了它。后来换了个思路,在调试器里给…

2026/10/7 21:24:26

从零构建智能家居系统:Home Assistant核心架构与自动化实战指南

1. 项目概述:从零构建一个真正“懂你”的智能家居系统几年前,当我第一次尝试把家里的灯、插座和空调连上网时,我以为这就是智能家居的全部了。直到后来,半夜被自动打开的窗帘惊醒,或者冬天回家发现空调因为“误判”而没…

2026/10/9 7:54:55

Cloudflare Workers 互调扣费陷阱与 Service Bindings 避坑指南

Cloudflare Workers 跑久了,都会遇到一个很现实的问题:我自己账号下写了两个 Worker,A 需要调 B,那么 A 去请求 B 的 URL,这个“互相请求”到底扣不扣额度里的次数?这个问题我一开始也没当回事,…

2026/10/9 7:54:55

ORB-SLAM3 入门:视觉 SLAM 原理、算法演进与学习路线

摘要:本文面向刚接触视觉 SLAM 或准备阅读 ORB-SLAM3 代码的学习者,系统梳理了视觉 SLAM 的基本原理、算法演进、主要模块与学习路线。内容涵盖 SLAM 要解决的核心问题、单目/双目/RGB-D 深度来源的差异、特征点法与直接法的优化目…

2026/10/9 7:54:55

数据库课程设计全流程:选题、ER图、JDBC与答辩避坑指南

简介:面向高校数据库课程设计的大三期末项目资料,以教务管理系统为完整案例,内容涵盖数据库设计、B/S架构实现、Spring MVC框架应用、Nutz持久化与MySQL连接,以及JSPJquery EasyUI前端设计。读者可从中了解教务管理系统的7大功能模…

2026/10/9 7:54:55

10_生成端的最后一道闸_引用编号校验与两道拒答

生成端的最后一道闸:引用编号、校验,和两道拒答 很多人把 RAG 的成败全押在"检索得准不准"上。但检索做得再好,最后一步没约束住,就是白做——模型可以无视检索结果,自己编一段通顺但错误的话出来。这篇讲我…

2026/10/9 7:49:55

老旧设备串口联网改造:RS232/RS485如何接入工业互联网

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:03:18

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/8 10:03:20

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/8 6:05:44

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 0:04:27

毕业论文初稿完成后首次进行AIGC疑似度自查的摸底与分流策略

毕业论文初稿完成后首次进行AIGC疑似度自查的摸底与分流策略当数万字的学位论文初稿经历开题、实验、问卷与多轮文献梳理最终成形时,绝大多数研究生都会面临一道全新的形式审查关卡:AIGC 疑似度排查。在高校毕业审核流程中,盲审前的文本检测通…

2026/10/9 0:04:27

食堂节能改造源头工厂,商用厨房设备焕新方案广受好评

商用厨房作为餐饮经营、单位供餐的核心后勤阵地,其设备配置、动线规划与运维体系直接决定后厨作业效率、运营成本与合规性。从基础的灶具、制冷存储设备,到油烟净化、水处理等配套系统,每一个环节的合理性都与食品安全、能耗管控、消防安全挂…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑