核心用法
finviz-crawler 是一套面向个人投资者与量化研究者的持续型金融新闻采集系统。与一次性 API 调用不同,它以守护进程形式长期运行,通过 Crawl4AI + Playwright 实时抓取 finviz.com/news.ashx 的头条列表,并自动提取 Bloomberg、Reuters、Yahoo Finance、CNBC 等信源的全文内容,存储于本地 SQLite 数据库与 Markdown 文件中。
主脚本 finviz_crawler.py 支持高度可配置:自定义数据目录、抓取间隔(默认 5 分钟)、文章有效期(默认 7 天自动清理)。配套查询工具 finviz_query.py 提供只读访问,可按时间窗口过滤、导出标题或全文,输出格式针对 LLM 摘要优化(纯文本/JSON)。
显著优点
- 零成本架构:无需 API Key、订阅或注册,直接抓取公开 RSS 与网页。
- 本地持久化:构建个人历史档案,突破 API 调用频次与数据保留期限限制。
- 自动化就绪:原生支持 systemd/launchd 后台服务化,结合 cron 可实现每日晨报、晚报、周报等自动化投研工作流。
- 智能清洗:SHA-256 去重、Bot 检测规避、按域名限速、User-Agent 轮换,降低被封风险。
- AI 友好输出:查询工具专为 LLM 上下文设计,便于接入 OpenClaw 的自动化摘要管道。
潜在缺点与局限性
- 法律与合规风险:未经授权抓取 Finviz 及下游信源可能违反服务条款,商业用途需额外评估。
- 结构脆弱性:网站改版、反爬升级或 Cloudflare 等防护机制可能导致抓取失效;无官方 SLA 保障。
- 数据完整性:Paywall 内容依赖 RSS 摘要,部分全文可能缺失;Bot 检测机制可能误杀有效内容。
- 本地资源占用:Playwright Chromium 实例持续运行,内存与磁盘(文章 Markdown)占用随时间增长。
- 时区与过期策略:默认以系统时区处理时间戳,跨平台行为可能不一致;
--expiry-days 0无限保留需手动监控磁盘。
适合人群
- 个人投资者、量化研究员、财经自媒体,需要低成本、可定制的本地新闻数据库。
- 已具备 Python/Playwright 运维经验,能够处理潜在的反爬对抗与环境配置问题。
- 希望将新闻摘要集成到自动化工作流(如 Telegram/Discord 每日推送)的技术用户。
常规风险
- IP 封禁:高频抓取可能触发目标站点限制,建议配合代理或降低
--sleep频率。 - 数据隐私:本地存储的文章可能包含敏感市场信息,需妥善备份与加密。
- 依赖维护:Crawl4AI、Playwright 版本迭代可能引入破坏性变更,需定期更新与回归测试。