finviz-crawler

📰 本地化财经新闻爬虫与 AI 简报引擎

持续抓取 Finviz 财经新闻,本地构建可查询的金融新闻数据库,零 API 成本,支持 AI 摘要与自动化简报。

收藏
4.9k
安装
1.3k
版本
3.0.0
CLS 安全性认证2026-08-03
点击查看完整报告 >

使用说明

核心用法

finviz-crawler 是一款面向金融投资者和量化研究者的本地化新闻爬虫工具,通过持续监控 finviz.com 的新闻流,构建个人专属的财经新闻数据库。与市面上多数一次性 API 查询工具不同,该 skill 以守护进程形式后台运行,自动抓取、提取、存储和清理文章,形成可追溯的历史档案。

显著优点

1. 零成本架构:直接爬取 finviz.com,无需 Bloomberg Terminal、Reuters API 等付费订阅,也避开了 Yahoo Finance、Alpha Vantage 等免费 API 的调用限制。

2. AI 原生设计:查询输出经过清洗优化,可直接输入 LLM 进行摘要生成。配合 OpenClaw 的 cron 任务,可实现自动化晨间简报、收盘复盘或周度投资总结。

3. 灵活的数据管理:SQLite 单库存储文章元数据与全文,支持按时间窗口、股票代码筛选;可配置 7 天至永久保留策略,自动清理过期数据避免磁盘膨胀。

4. 多平台守护进程:内置 systemd(Linux)和 launchd(macOS)配置模板,支持无人值守的自动化运行。

5. 股票代码追踪系统:可维护关注的标的列表(如 NVDA、TSLA),爬虫自动抓取各 ticker 专属新闻页面,实现个性化监控。

潜在缺点与局限性

  • 依赖目标网站稳定性:finviz.com 的页面结构变更可能导致爬取失效,需要持续维护选择器。
  • 反爬与 rate limit 风险:虽有用户代理轮换和域名级限速,但高频爬取仍可能触发 IP 临时封禁。
  • 内容质量参差:自动提取的文章可能包含 paywall 提示、bot 检测页面等垃圾内容,虽有过滤机制但无法 100% 规避。
  • 无实时推送:基于轮询架构(默认 5 分钟),非真正实时流,对高频交易场景延迟过高。
  • Playwright 依赖:需要安装 Chromium 浏览器,在资源受限环境(如低配置 VPS)内存占用较大。

适合人群

  • 个人投资者希望建立本地化新闻档案,避免依赖第三方平台
  • 量化研究者需要结构化金融文本数据进行 NLP 训练或情绪分析
  • AI 爱好者构建自动化投资简报工作流
  • 隐私敏感用户不愿将阅读历史上传至云端服务

常规风险

| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| 合规风险 | 爬取行为可能违反 finviz.com ToS | 控制频率,仅个人使用,避免商业化分发 |
| 数据准确性 | 自动提取可能出现内容截断或格式错误 | 关键决策前人工复核原文 |
| 依赖风险 | Crawl4AI、Playwright 等依赖版本迭代 | 锁定依赖版本,定期回归测试 |
| 安全风险 | 未审计的 Python 依赖可能引入供应链攻击 | 在隔离环境运行,限制网络出口 |

该 skill 适合作为个人金融数据基础设施的基石组件,但不建议用于生产级、高可用性的商业系统。

安全解读

核心用法

finviz-crawler 是一款专为金融市场监控设计的持续爬虫工具,区别于传统一次性API查询方案,它以后台守护进程形式持续运行,自动采集 finviz.com 的全量财经新闻并构建本地可查询档案。

部署方式:通过 python3 scripts/install.py 一键安装,支持 macOS、Linux 和 Windows 三平台。安装过程自动配置 Python 依赖(crawl4ai、feedparser)、Playwright 浏览器环境及数据目录结构。

运行模式:默认以 300 秒间隔轮询 finviz.com/news.ashx,自动提取彭博、路透社、雅虎财经、CNBC 等信源文章。支持通过 --expiry-days 配置自动清理策略(默认 7 天,设为 0 永久保留),并可包装为 systemd 服务或 macOS launchd 守护进程实现开机自启。

数据查询finviz_query.py 提供多种查询维度——按时间窗口(--hours)、仅标题模式(--titles-only)或完整文章内容(--with-content)。输出格式针对 LLM 摘要优化,可直接对接 OpenClaw 定时任务实现自动化早晚简报。

股票追踪:内置 ticker 管理功能,支持批量添加/删除股票代码,自动关联关键词过滤。数据统一存储于 SQLite 单文件(finviz.db),文章正文以 Markdown 形式落盘于 articles/ 目录下的按股票分子文件夹。

显著优点

零成本架构:完全基于网页抓取,无需 Finviz Pro 订阅或第三方 API 密钥,对个人投资者和小型团队极为友好。

AI 原生设计:查询输出专门针对大语言模型优化,标题模式紧凑适合 token 限制场景,完整内容模式保留正文供深度分析。配合 PrivateApp 移动仪表盘,可随时生成 LLM 摘要。

健壮的去重机制:采用 SHA-256 标题哈希去重,结合 per-domain 速率限制和用户代理轮换,降低被封禁风险。

灵活的存储策略:SQLite + 文件系统的混合存储兼顾查询效率与内容可移植性,自动清理策略避免磁盘无限膨胀。

潜在缺点与局限性

法律与合规风险:finviz.com 服务条款未明确授权大规模抓取,长期高频运行可能触发 IP 封禁或法律函件。建议控制请求频率(--sleep 不低于 300 秒)并仅限个人研究使用。

数据完整性依赖源站:若 Finviz 改版或引入反爬机制,抓取逻辑可能失效。维护者为个人开发者(T3 来源),修复响应时间不确定。

无实时推送能力:基于轮询架构,新闻延迟理论上可达一个抓取周期(默认 5 分钟),不适合高频交易场景。

Paywall 内容受限:虽尝试通过 RSS 获取付费站点内容,但完整文章提取成功率受目标站点反爬策略影响。

适合的目标群体

  • 个人量化投资者:需要构建私有新闻数据库进行情感分析或事件驱动策略回测
  • 财经内容创作者:自动化采集素材生成早晚报、周报等摘要内容
  • 小型投资研究团队:预算有限但需要多源信息聚合的买方/卖方分析师
  • AI 工作流爱好者:希望将金融新闻纳入 LLM RAG 系统的技术用户

常规使用风险

性能风险:Playwright 浏览器实例内存占用较高,长期运行建议监控资源使用;SQLite 在单表数据量超过百万行时查询性能可能下降,需考虑归档策略。

依赖维护:核心依赖 crawl4ai 处于快速迭代期,版本升级可能引入 breaking change;Playwright 浏览器需定期同步更新以适配目标站点。

数据一致性:强制终止进程可能导致 SQLite 写入中断,虽 Python 的 sqlite3 有一定健壮性,仍建议定期备份 finviz.db

安全风险:存在低危路径遍历漏洞(RISK-001),恶意构造的 ticker 名称可能导致预期外目录删除,建议生产环境添加输入校验补丁。

finviz-crawler 内容

scripts文件夹
手动下载zip · 20.8 kB
finviz_crawler.pytext/plain
请选择文件