Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

xueqiu-collector

v1.0.0

雪球帖子全量采集 Skill。采集任意雪球用户的全部帖子(含完整正文、图片下载、OCR识别), 自动做 V4 规则分析(帖子类型/投资相关性/情感/操作意图/主题标签/质量评分), 结果存入 SQLite 数据库并导出 JSON + Markdown 备份。 触发词:采集雪球、雪球帖子采集、爬取雪球、收集雪球、雪...

0· 132· 1 versions· 0 current· 0 all-time· Updated 8h ago· MIT-0

Install

openclaw skills install xueqiu-collector

xueqiu-collector — 雪球帖子采集 Skill

功能概述

本 Skill 可以采集任意雪球用户的全部帖子,包括:

  1. 全量/增量采集 — 自动判断采集模式(首次全量,后续增量)
  2. 完整正文提取 — 含 Markdown 格式化、blockquote 评论识别
  3. 图片处理 — 下载帖子图片并 OCR 识别内容(winocr/tesseract)
  4. V4 规则分析 — 零 token 消耗,采集即分析:
    • 帖子类型(原创/评论/错误/空内容)
    • 投资相关性(high/medium/low/none)
    • 情感分析(看多/看空/中性)
    • 操作意图(买入/卖出/持有/观察)
    • 主题标签(估值分析/财务分析/操作记录…)
    • 质量评分(1-5分)
  5. 数据导出 — SQLite 数据库 + JSON + Markdown(全量及按分类)

前置依赖

依赖项说明
playwright-cli (npx)浏览器自动化,用于页面采集
Edge 浏览器 + 真实 Profile挂载登录态,避免触发验证码
Python 3.10+运行采集脚本
winocr(可选)Windows 系统内置 OCR,识别帖子图片文字
SQLite数据持久化,系统内置无需安装

快速开始

# 0. 环境检测(首次使用必跑!)
py scripts/check_env.py

# 1. 首次运行(不传参数,自动进入配置向导)
py scripts/collect.py
# → 会引导输入昵称和 URL

# 2. 增量采集(推荐,直接传参跳过向导)
py scripts/collect.py --author "用户昵称" --url "https://xueqiu.com/u/7712999844"

# 2. 强制扫描列表找新帖
py scripts/collect.py --author "用户昵称" --url "https://xueqiu.com/u/7712999844" --refresh-list

# 3. 强制重采正文(不重爬列表)
py scripts/collect.py --author "用户昵称" --url "https://xueqiu.com/u/7712999844" --force-collect

# 4. 只采集最新10条
py scripts/collect.py --author "用户昵称" --url "https://xueqiu.com/u/7712999844" --force-collect --latest --limit 10

# 5. 批量规则分析(对已采集的帖子补做V4分析)
py scripts/analyze.py --db "path/to/db.db" --missing

SOP(标准操作流程)

场景一:首次采集某用户的全部帖子

用户说:"帮我采集 @随缘的人生体验 的全部雪球帖子"

步骤:

  1. 确认用户昵称和主页 URL(可从 https://xueqiu.com/u/{UID} 格式获取)
  2. 确认数据库路径(默认:项目 db/stock_analysis.db
  3. 确认输出目录(默认:项目 data/xueqiu/{昵称}/
  4. 运行:py scripts/collect.py --author "昵称" --url "URL" --db "db路径" --out-dir "输出路径"
  5. 等待采集完成,报告统计数据

场景二:增量更新(常规日常任务)

用户说:"同步一下雪球数据" / "雪球有新帖,更新一下"

步骤:

  1. 检查已知配置(从记忆中读取上次的 author + url)
  2. 直接运行增量采集:py scripts/collect.py --author "昵称" --url "URL" --refresh-list
  3. 报告新增帖子数量

场景三:补充采集正文

用户说:"有些帖子只有标题没有正文,帮我补全"

步骤:

  1. 运行:py scripts/collect.py --author "昵称" --url "URL"(默认只采集缺正文的帖子)
  2. 报告补全数量

场景四:对历史帖子做 V4 规则分析

用户说:"帮我分析一下数据库里的帖子"

步骤:

  1. 运行:py scripts/analyze.py --db "db路径" --missing(只分析未分析的)
  2. 或全量重分析:py scripts/analyze.py --db "db路径" --batch

配置说明

路径配置(collect.py 参数)

参数说明示例
--author用户昵称(用于数据目录隔离)随缘的人生体验
--url雪球主页 URLhttps://xueqiu.com/u/7712999844
--dbSQLite 数据库路径db/stock_analysis.db
--out-dir数据输出根目录data/xueqiu
--npxnpx 可执行路径C:\Users\xxx\nodejs\npx.cmd
--edge-profileEdge Profile 路径C:\Users\xxx\AppData\Local\Microsoft\Edge\User Data\Default

反爬虫配置(内置默认值)

参数默认值说明
MIN_DELAY2.0 秒最小请求间隔
MAX_DELAY5.0 秒最大请求间隔
MAX_RETRIES3最大重试次数
stop_on_no_new3连续 N 页无新帖停止

输出格式

data/xueqiu/{昵称}/
  ├── posts_full.json          全量 JSON(所有帖子,时间倒序)
  ├── posts_full.md            全量 Markdown
  ├── classified/              按分类的 JSON 文件
  │   ├── 腾讯控股.json
  │   ├── 操作日记.json
  │   └── ...
  ├── md/                      按分类的 Markdown 文件
  │   ├── 腾讯控股.md
  │   └── ...
  └── images/                  帖子图片
      ├── 382580032_1.jpg
      └── ...

数据库表结构(xueqiu_posts)

字段类型说明
post_idTEXT雪球帖子 ID
authorTEXT作者昵称
author_idTEXT作者 UID
titleTEXT帖子标题
contentTEXT列表页摘要
full_contentTEXT完整正文(Markdown 格式)
categoryTEXT分类(腾讯控股/操作日记/宏观分析…)
published_atTEXT发帖日期(YYYY-MM-DD)
urlTEXT帖子链接
like_countINTEGER点赞数
comment_countINTEGER评论数
repost_countINTEGER转发数
read_countTEXT阅读数(含"万"等单位)
image_ocr_textTEXT图片 OCR 识别内容
post_typeTEXT帖子类型(original/reply/error/empty)
own_textTEXT评论帖中用户自己的话
quote_textTEXT评论帖引用的原文
reply_to_post_idTEXT评论指向的原帖 ID
investment_relevanceTEXT投资相关性(high/medium/low/none)
sentimentTEXT情感(看多/看空/中性)
trade_intentTEXT操作意图(买入/卖出/持有/观察/无)
content_typeTEXT内容类型(交易记录/数据分析/深度分析/讨论交流…)
quality_scoreINTEGER质量评分(0-5)
summaryTEXT规则摘要(前300字)
topicsTEXT主题标签(JSON 数组)
tagsTEXT提及股票(JSON 数组)
word_countINTEGER正文字数

注意事项

  1. 浏览器登录态:首次运行会自动启动 Edge 并导航到目标页面,需确保已登录雪球
  2. 采集速度:内置随机延迟,每条正文 2-5 秒,每20条强制休息 8-12 秒
  3. 日志监控:采集日志保存到 logs/xueqiu_collect.log,可用 py read_log.py 监控
  4. OCR 支持:需要安装 winocr + pillowpip install winocr pillow
  5. 分类关键词:可在 references/category_keywords.json 中自定义股票/主题分类规则

踩坑经验

  • playwright-cli eval 只支持单行 JS,多行会导致序列化失败
  • 雪球列表页时间格式多变(昨天/前天/X天前/X小时前/MM-DD/YYYY-MM-DD),已全部处理
  • 评论帖有三种格式(A/B/C),xueqiu_analyzer.py 已全部覆盖
  • Edge Profile 路径含空格时,必须用 Python subprocess 列表方式传参,不能字符串拼接
  • CMD 中文路径会乱码,所有含中文路径的启动器必须用 PowerShell + UTF-8

Version tags

latestvk972fsrs3f64z2hzrgjscw346h84mbsn