你是不是每天都要浏览好几个科技网站,才能跟上最新的 AI、人工智能、机器人这些前沿动态?
有没有想过,把这些网站的更新自动抓取到一起,每天只看一个地方,还只显示一天内的最新内容?
今天我们就来动手做一个这样的自动化工作流,全程用 n8n 实现,不用写复杂代码,拖拖拽拽就能搞定。
一、整体思路:我们要做什么?
这个工作流的目标很简单:
- 设定关键词:比如我们关注“AI/人工智能/机器人/科技”这类主题。
- 读取多个 RSS 源:自动抓取几个固定的科技网站和公众号的最新文章。
- 过滤时间:只保留一天内发布的内容。
- 精简输出:只提取标题等关键信息。
- 汇总输出:把所有结果合并成一个列表,方便查看或后续处理。
整个过程完全自动化,你只需要点击“执行”,就能得到一份当天的科技资讯摘要,工作流如下:
二、开始动手:搭建工作流
1. 起点:手动触发节点
我们从最左边的When clicking ‘Execute workflow’节点开始。
这个节点就是一个“开始按钮”,点一下,工作流就启动了。
它不处理数据,只负责“发车”。
2. 设置关键词:我们要找什么?
接下来是设置关键词节点。
这里我们用一个Set 节点,用来定义一个叫keyword的变量,值设为:
AI/人工智能/机器人/科技这样后面如果想换关键词,直接改这里就行,不用动后面复杂的流程。
这个节点其实只是“打个标签”,方便你以后知道这个工作流是干嘛的。
如果你愿意,甚至可以在这里设置多个分类关键词,用“/”隔开,一目了然。
3. 定义 RSS 源:从哪里抓文章?
接下来进入设置需要读取的 RSS 源节点,它是一个Code 节点。
它的作用就是把一串 RSS 链接网址,转换成 n8n 能识别的数据格式。
const allURL = [ "https://www.qbitai.com/feed", "https://wechat2rss.bestblogs.dev/feed/...", "https://36kr.com/feed" ] return allURL.map(url=>({url}))这段代码的意思是:
- 我把几个常看的科技 RSS 链接写在一个数组里。
- 然后用
map方法把每个链接包装成一个对象{url: "..."},这样 n8n 后面的节点才能识别并逐个抓取。
小提示:
你可以随时在这里增删 RSS 源,比如加一个“机器之心”或“量子位”的 feed,只要它是公开的 RSS 链接就行。
4. 抓取内容:读取所有 RSS
读取所有 RSS 内容节点是一个RSS Feed Read 节点。
它接收上一步传来的链接数组,然后一个一个去请求,把每篇文章的标题、链接、发布时间、摘要等信息抓下来。
这个节点是核心“苦力”,负责把分散在各个网站的内容,统一抓到我们这里。
5. 时间过滤:只要一天内的新文章
抓下来的文章可能有很多是几天甚至几周前的,我们只关心最新的。
所以用过滤 1 天内的资讯节点(一个Filter 节点)来筛选。
它的判断条件是:
文章发布时间 > 当前时间 - 1天这样,只有 24 小时内发布的文章才会进入下一步,老文章自动被过滤掉。
为什么用“过滤”节点而不是代码?
因为 n8n 自带的过滤节点配置起来更直观,不用写日期计算的代码,适合非程序员操作。
6. 精简信息:只保留标题
有时候 RSS 抓下来的信息很多,但我们可能只需要标题。
精简资讯列表节点(也是一个Set 节点)就负责这个。
我们在这里只保留title字段,这样输出结果会更清爽。
你也可以在这里添加其他字段,比如link(文章链接)、author(作者)等,按需配置。
7. 汇总结果:合并成一个列表
最后,Aggregate 节点把前面所有文章信息合并成一个数组,放在一个叫allNews的字段里。
这样,输出的就是一个整齐的列表,每篇文章是一个对象,里面包含标题等信息。
三、这个工作流还能怎么扩展?(下节预告)
这个工作流目前只是“抓取+过滤+精简”,但在下节将扩展为:
- 生成精美的新闻图片:根据title,用最新的Nano Banana Pro (Gemini 3 Pro Image Preview)生图
- 发送到企微:接一个“HTTP Request”节点,将新闻图片推到企微。
四、小结
本文的RSS是亮点,它很好用,是用户自主订阅网站更新、聚合信息内容的工具协议,举个例子:以前我们看报纸,得买《体坛周报》、《电脑报》好几份。现在呢,只需要告诉报箱(RSS阅读器):“我要订这《A杂志》的体育版、《C博主》的全部文章。”之后,我们不用再跑报亭,也不用等推送。每天早上去打开这个报箱,里面就整整齐齐地放着所有你指定要的、最新的内容,还没有乱七八糟的广告。
不过要注意,并非所有网站都可以订阅RSS,要看网站是否有RSS标志。感兴趣可以看看这篇文章:https://sspai.com/post/56198。