← 返回
未分类

基金实时估值抓取

此 skill 应在用户需要查询基金实时估值/预计涨跌幅度时使用。 通过 Playwright 自动化访问同花顺爱基金 (fund.10jqka.com.cn),抓取基金重仓持股的实时数据,并基于持仓加权计算基金的预计涨跌幅。 支持单只查询和批量查询多只基金。触发场景包括:「查一下XX基金的涨跌」、「看看这几只基金今天的估值」、「抓取基金实时数据」等。
Eli1990
未分类 community v1.0.2 3 版本 99875.5 Key: 无需
★ 3
Stars
📥 1,544
下载
💾 250
安装
3
版本
#latest

概述

基金实时估值抓取 Skill

概述

通过同花顺爱基金平台(fund.10jqka.com.cn)获取基金的重仓持股实时数据

利用加权平均算法计算出基金的预计涨跌幅度

核心能力

  • 📊 单只/批量查询:支持一次查询一只或多只基金的实时估值
  • 📈 加权算法:基于「占净资产比 × 股票日涨幅」的加权平均,计算预计涨跌幅
  • 💾 多格式输出:表格展示 + JSON 文件保存
  • Playwright 驱动:处理 JavaScript 动态渲染的页面

数据来源

| 项目 | 来源 |

|------|------|

| 平台 | 同花顺爱基金 fund.10jqka.com.cn |

| 基金名称 | 页面 .nameh1 选择器 |

| 重仓持股 | #czContent ul > li 结构(序号、股票名、日涨幅、占比、市值) |

| 估值算法 | Σ(日涨幅 × 占比) / Σ(占比) |

使用方式

前置条件

  • Python 3.8+
  • playwright 包已安装(pip install playwright
  • Playwright 浏览器已安装(playwright install chromium

执行脚本

核心脚本位于 scripts/fund_scraper.py,提供 CLI 接口:

# 查询单只基金
python scripts/fund_scraper.py --code 519674

# 批量查询(逗号分隔)
python scripts/fund_scraper.py --codes 519674,002190,161725,161726

# JSON 格式输出
python scripts/fund_scraper.py --code 519674 --format json

# 自定义输出路径
python scripts/fund_scraper.py --codes 519674,002190 --output my_result.json

# 显示浏览器窗口(调试用)
python scripts/fund_scraper.py --code 519674 --no-headless

CLI 参数说明

| 参数 | 缩写 | 必填 | 说明 |

|------|------|------|------|

| --code | -c | 二选一 | 单只基金代码(6位数字) |

| --codes | — | 二选一 | 多只基金代码,逗号分隔 |

| --format | -f | 否 | 输出格式:table(默认)/ json |

| --output | -o | 否 | 输出文件路径(JSON) |

| --headless | — | 否 | 无头模式(默认开启) |

| --no-headless | — | 否 | 显示浏览器窗口(调试用) |

| --timeout | — | 否 | 页面加载超时毫秒数(默认 60000) |

工作流程

当用户请求查询基金实时估值时,按以下步骤操作:

Step 1: 确认基金代码

从用户输入中提取基金代码。用户可能以以下方式提供:

  • 直接给出代码:「查一下 519674」
  • 给出多个代码:「看看 519674 和 002190」
  • 给出名称但未给代码 → 需要询问或搜索确认

如果用户没有明确指定基金代码,必须先向用户确认

Step 2: 执行抓取脚本

使用 execute_command 运行脚本。确保:

  • 使用绝对路径调用脚本
  • 设置适当的编码环境
  • 根据用户需求选择参数格式

示例命令:

# 单只基金
PYTHONIOENCODING=utf-8 python "<SKILL_PATH>/scripts/fund_scraper.py" --code <FUND_CODE> --format json --output <OUTPUT_PATH>

# 批量基金
PYTHONIOENCODING=utf-8 python "<SKILL_PATH>/scripts/fund_scraper.py" --codes <CODE1>,<CODE2>,<CODE3> --format json --output <OUTPUT_PATH>

替换为当前 skill 的实际路径,

替换为实际基金代码,

替换为期望的输出文件路径(建议输出到工作区目录)。

Step 3: 读取结果

脚本执行成功后,读取输出的 JSON 文件,解析结果并向用户呈现:

{
    "基金代码": "519674",
    "基金名称": "银河创新混合A",
    "抓取时间": "2026-04-10 16:30:00",
    "预计涨跌幅": "+1.94%",
    "状态": "success",
    "重仓持股": [
        {
            "序号": 1,
            "股票名称": "寒武纪",
            "日涨幅": "+1.06%",
            "占净资产比": "9.78%",
            "市值": "138266.10万元"
        },
        ...
    ]
}

Step 4: 向用户汇报结果

按以下格式汇总结果:

📈 基金实时估值报告

【银河创新混合A (519674)】
⏰ 抓取时间:2026-04-10 16:30
📊 预计涨跌幅:+1.94%
✅ 状态:数据完整(10 只重仓股)

重仓股贡献明细:
  #1 寒武纪   +1.06% (占比 9.78%)
  #2 海光信息  +2.12% (占比 9.77%)
  ...

对于批量查询结果,制作对比汇总表。

Step 5: 异常处理

| 错误现象 | 处理方式 |

|----------|----------|

| 页面加载超时 | 增加 --timeout 参数值(如 90000),或稍后重试 |

| 未找到持仓数据 | 可能是基金类型不支持(如货币基金),告知用户 |

| 所有数据显示"暂无数据" | 可能是非交易时间或盘前/盘后时段,提示用户 |

| Playwright 未安装 | 提示运行 pip install playwright && playwright install chromium |

| 基金代码无效 | 校验代码应为6位数字 |

输出规范

必须包含的信息

  1. 基金基本信息:代码、名称
  2. 预计涨跌幅:加权计算结果,保留2位小数,带正负号
  3. 抓取时间:数据时效性参考
  4. 状态标识:正常 / 部分 / 失败
  5. 重仓持股明细:至少列出 Top 5 重仓股及其贡献

数值显示约定

  • 涨跌颜色语义:中国股市惯例 — 涨(+)为红/正,跌(-)为绿/负
  • 百分比格式:始终带 % 符号和正负号,如 +1.94%-0.50%
  • 金额单位:万元,保留2位小数

注意事项

  1. 数据时效性:持仓数据来自最近披露的季报,不是实时的真实持仓变动;"预计涨跌幅"是估算值,基于假设持仓不变的前提下计算
  2. 交易时间限制:非交易时间段(周末、节假日、夜间)股票的"日涨幅"可能为前一交易日数据或无数据
  3. 频率控制:避免过于频繁地大量抓取,尊重目标网站的资源
  4. 算法局限:仅覆盖前十大重仓股,实际基金持仓可能包含更多股票,因此估算存在一定偏差

版本历史

共 3 个版本

  • v1.0.2 给脚本增加更长的间隔和随机抖动 当前
    2026-04-13 11:15 安全 安全
  • v1.0.1 使用 playwright-stealth 库绕过 headless 检测
    2026-04-13 10:57 安全 安全
  • v1.0.0 Initial release
    2026-04-10 17:04 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

data-analysis

Stock Watcher

robin797860
管理和监控个人股票自选列表,支持利用同花顺数据添加、删除、列出股票及汇总近期表现。适用于用户希望追踪特定股票、获取表现汇总或管理自选列表时。
★ 112 📥 46,297
data-analysis

Tavily 搜索

jacky1n7
通过 Tavily API 进行网页搜索(Brave 替代方案)。当用户要求搜索网页、查找来源或链接,且 Brave 网页搜索不可用时使用。
★ 273 📥 100,434
data-analysis

Data Analysis

ivangdavila
{"answer":"数据分析与可视化。查询数据库、生成报告、自动化电子表格,将原始数据转化为清晰可行的见解。适用于:(1) 您……"}
★ 210 📥 68,806