> 🚀 零Token、零API Key的财经资讯自动采集系统
config/companies.yaml 可编辑,Tier1/Tier2 分档,无需改代码
双源采集(财联社Depth + 华尔街见闻Global)
↓
MD5去重 → 关键词领域过滤(含强排除模式)
↓
标题优先事件分类(10类) + 公司YAML加分 + 金额规模因子 + 时效衰减
↓
话题聚类去重(Containment Coefficient, 阈值0.12 + 前缀快速路径)
↓
正文抓取 + 规则摘要(财联社div.detail-content, 失败降级RSS摘要)
↓
生成日报(6板块Markdown) → 同步Obsidian(可选)
pip install -r requirements.txt
通过 RSSHub 将财联社和华尔街见闻 API 转为 RSS 格式。项目自带 start_rsshub.py。
一次安装:
# 下载 + 解压到 D:\RSSHub
curl -L -o rsshub.zip https://github.com/DIYgod/RSSHub/archive/refs/heads/master.zip
mkdir D:\RSSHub && unzip rsshub.zip -d D:\ && robocopy D:\RSSHub-master D:\RSSHub /E /MOV
# 安装依赖
cd D:\RSSHub
npm install --legacy-peer-deps --cache .npm-cache
# 设置 Obsidian 知识库路径(留空跳过同步)
OBSIDIAN_DIR = os.environ.get("OBSIDIAN_DIR", "")
# 编辑 config/companies.yaml 调整核心公司分档
# 1. 启动本地 RSSHub(开发模式,无需构建)
python start_rsshub.py
# 或手动: cd D:\RSSHub && node --import tsx lib/index.ts --port 1200
# 2. 采集(约2-3分钟)
python src/finance_main.py
# 3. 关闭 RSSHub(可选)
python start_rsshub.py stop
报告生成在 reports/finance_news_YYYY-MM-DD.md。
| 源 | 路由 | 场景 | 正文抓取 |
|------|------|------|:--:|
| 财联社深度(主) | localhost:1200/cls/depth | A股IPO/科创板/产业分析 | ✅ ~45% |
| 华尔街见闻(备) | localhost:1200/wallstreetcn/news/global | 全球宏观/美股/科技行业 | ❌ CSS不匹配 |
任一源挂掉不影响另一端。CLS 已于 2026.06 通过 RSSHub PR #22171 恢复。
两大财经网站的 API 返回复杂 JSON/Next.js 渲染页面。RSSHub 作为标准化层,统一转为 RSS XML,与现有 feedparser 管线无缝衔接。本地运行,不依赖公共服务实例。
最终分 = (10 基础分 + 事件类型分 + 公司加分 + 创新加分) × 金额规模因子 × 时效衰减
v2.1 起采用标题优先策略:标题命中给全分,仅正文命中降权至 1/3,避免"SpaceX 市值报道"被正文中的"上市"关键词误标为 IPO。
| 类型 | 权重 | 说明 |
|------|------|------|
| IPO/上市 | 25 | 上市、港股上市、纳斯达克、纽交所 |
| 并购重组 | 24 | 并购、收购、重组、私有化 |
| 风险预警 | 22 | 泡沫、暴跌、反垄断、实体清单、制裁 |
| 融资估值 | 20 | 融资、募资、A/B/C轮、基石、超额认购 |
| 政策监管 | 18 | 产业政策、新规、补贴、碳中和 |
| 业务里程碑 | 14 | 首发、量产、交付、中标、落地 |
| 合作战略 | 12 | 合作、签约、战略、入股、增持 |
| 产品发布 | 11 | 发布、推出、上线、开源 |
| 财报业绩 | 9 | 财报、净利、营收、业绩预告 |
| 市场表现 | 8 | 股价、市值、涨停、回购 |
动态加载自 config/companies.yaml,编辑即生效:
| 规模 | 乘数 |
|------|:--:|
| ≥100亿 或 ≥10亿美元 | 1.30 |
| ≥10亿 或 ≥1亿美元 | 1.15 |
| 含百分比数据 | 1.10 |
| 含一般数字 | 1.05 |
| 无数字 | 1.00 |
| 新闻年龄 | 系数 |
|------|:--:|
| < 6小时 | 1.00 |
| 6~12小时 | 0.95 |
| 12~24小时 | 0.85 |
| > 24小时 | 0.70 |
解决"同一事件多家报道"问题(v2.1 增强):
零Token纯规则引擎,从原文提取摘要:
div.detail-content)
生成 Markdown 日报,包含 6 个板块:
v2.0 起,日报输出理念参考 Anthropic Financial Services 框架:
共 5 个版本