每天用 AI 自动抓取科技财经新闻并发布博客
为什么要做这个
每天手动刷几十个新闻源、再把重点整理成文章太费时间。于是搭了一整套自动化流程:每天清晨 5 点,脚本自动抓取「科技圈、经济财经、加密货币」三大板块的新闻,交给 AI 润色成一篇日报,然后自动发布到博客。全程无人值守。
整体流程
1 | 抓取 RSS 源 → 筛选昨天的条目 → AI 润色成稿 → 生成 Markdown → Hexo 构建 → 部署到 GitHub Pages |
每一步都由一个 Node.js 脚本 daily-post.js 串联,由 Windows 计划任务在每天 05:00 触发。
关键组件
1. RSS 抓取
用 Node.js 24 内置的 fetch,不依赖任何第三方库,手写正则解析 RSS 2.0 和 Atom 两种格式。每个源设置 15 秒超时,失败自动跳过,不影响整体。
2. 自建 RSSHub
公共 RSSHub 实例不稳定,中文财经源(华尔街见闻、财联社、金十等)直连也常常失败。于是用 Docker 自建了一个 RSSHub(端口 1200),把这些源稳定地转成统一 RSS 输出。
这里踩过一个坑:Docker Desktop 的 localhost(IPv6)端口转发有 bug,会导致请求全部超时,改用 127.0.0.1 就正常了。
3. AI 润色
调用大模型把筛选出的几十条新闻综合成一篇结构清晰的日报:一句导语总览,再分「科技圈」「经济财经」「加密货币」三小节,结尾一句话总结。模型按 OpenAI 兼容协议接入,换模型只需改配置。
4. 定时任务
用 Windows 的 schtasks 注册了一个每天 05:00 执行的任务,入口是 run-daily.bat,调用脚本完成全流程。
5. 无人值守部署
GitHub 用 SSH 免密,脚本构建完成后直接 hexo deploy 推到 gh-pages/main 分支,无需人工干预。
数据源清单
- 科技:爱范儿、少数派、Solidot、开源中国
- 财经:界面新闻 + 自建 RSSHub(华尔街见闻快讯/全球、财联社电报、金十数据、财富中文网、36氪快讯)
- 加密:CoinTelegraph、Bitcoin Magazine、Decrypt、The Block、Blockworks
踩过的坑
- Hexo 自动加载
scripts/目录:把脚本放进去会被当成插件加载报错,最终把自动化脚本整体移到博客目录外。 localhost端口转发 bug:Docker Desktop 的 IPv6 localhost 转发有问题,源码全部改用127.0.0.1。- 中文财经直连源大面积失效:36kr、FT中文网、公共 RSSHub 等要么超时要么返回 HTML,最终靠自建 RSSHub 解决。
总结
这套系统的核心价值在于「无人值守」:RSS 提供事实,AI 负责组织语言,Hexo 负责呈现,计划任务负责准点触发,SSH 负责自动部署。每天醒来,博客上已经有一篇新鲜的日报了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 苏的博客!