Skip to content

ZGarry/xueqiu-scraper

Repository files navigation

启四说雪球历史抓取工具

用于抓取雪球用户“启四说”(qisi / UID 9199129225)公开时间线与专栏正文,并输出可校验、可阅读、可继续分析的本地语料。

仓库只保留当前使用的核心链路、设计说明,以及最近一次完整抓取的可读结果。Cookie、浏览器登录目录、原始 API 响应、SQLite 数据库和重复的中间格式不会提交。

最近一次结果

抓取时间:2026-05-27

  • 抓取页数:196
  • 去重后记录:3,745
  • 专栏记录:1,360
  • 专栏正文完整:1,360
  • 完整性校验:通过

结果文件:

工作方式

推荐使用 Playwright 持久化浏览器登录态。脚本在浏览器页面上下文中请求雪球时间线 API,因此不需要手工复制 Cookie。

python -m pip install -r requirements.txt
python .\browser_qisi_scraper.py --fetch-articles

也可以运行完整管道,依次完成抓取、分析分片导出和一致性校验:

.\run_qisi_pipeline.ps1 -Mode browser -FetchArticles -RequireComplete

直接 API 模式适合调试。完整历史通常需要登录 Cookie:

$env:XUEQIU_COOKIE = '登录后的 Cookie'
python .\direct_qisi_scraper.py --fetch-articles

不要把 Cookie 提交到 Git,也不要发送给第三方。

输出

每次运行会在 output/ 下创建独立目录:

文件 用途
timeline_raw_pages.json 原始分页响应
timeline_clean.jsonl 标准化逐条语料
timeline_clean.md 可阅读时间线
timeline.sqlite SQLite 数据库
summary.json 抓取摘要
verification_report.* 一致性与完整性报告
gemini/ 大模型分析分片与提示词

output/ 是本地工作目录,不纳入版本控制。公开存档只从已校验的完整输出中挑选必要文件。

核心文件

文件 作用
browser_qisi_scraper.py 使用持久化浏览器登录态抓取完整历史
direct_qisi_scraper.py 使用访客会话或显式 Cookie 直接请求 API
export_for_gemini.py 把 JSONL 拆成适合大模型处理的 Markdown 分片
verify_qisi_corpus.py 校验记录数、分页、SQLite、专栏正文和分片
run_qisi_pipeline.ps1 串联抓取、导出与校验

详细设计见 DESIGN.md

注意事项

  • 仅抓取有权访问的内容,并遵守目标站点条款、访问频率限制和适用法律。
  • 默认加入请求延迟与随机抖动,避免高频访问。
  • results/latest/ 中的内容版权归原作者及对应平台所有,仅作为抓取结果存档和技术验证。
  • analysis.md 是自动生成的研究材料,不构成投资建议。

License

代码使用 MIT License。抓取内容不适用该代码许可证。

About

启四说雪球历史抓取工具,包含核心设计与最近一次完整抓取结果

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors