实战:每日新闻推送工作流
从零开始创建一个完整的新闻抓取和推送工作流,巩固所学知识
实战:第一个 n8n 工作流 - 每日新闻推送
本教程将带你从零开始创建一个完整的 n8n 工作流,实现从多个 RSS 源获取新闻资讯,聚合后自动推送到飞书群聊机器人。
通过这个实战项目,你将掌握:
- RSS Feed Read 节点的使用
- 数据格式化和字段转换
- 多数据流的聚合处理
- HTTP Request 节点的配置
- 定时触发器的设置
最终达到的效果如下图

工作流概述
工作流功能:
- 每天定时从多个 RSS 源获取新闻资讯
- 统一格式化新闻数据(保留标题、链接、发布时间、内容)
- 将所有新闻数据聚合在一起
- 推送到飞书群聊机器人
涉及节点:
- Schedule Trigger(定时触发器)
- RSS Feed Read(RSS 读取节点)
- Set(字段格式化节点)
- Merge(数据聚合节点)
- Limit(限制节点)
- HTTP Request(飞书机器人推送)
01 创建定时触发器
首先创建一个定时触发器,让工作流每天固定时间自动执行。
Step 1: 添加触发器节点
点击节点面板中的 + 按钮,搜索并选择 Schedule Trigger 节点。

Step 2: 设置触发时间
在节点配置面板中设置触发规则:
- 触发时间: 每天晚上 22:15
- 触发方式: Cron 表达式或界面选择
配置示例:

Step 3: 测试触发器
点击 Test Step 按钮测试节点是否正常工作。
02 获取 RSS 新闻数据
从 RSS 订阅源获取新闻资讯。我们将使用三个不同的新闻源作为示例。
Step 1: 添加 RSS Feed Read 节点
点击定时触发器节点右侧的 + 按钮,添加 RSS Feed Read 节点。

Step 2: 配置 RSS 源
在节点配置中填写 RSS 订阅源地址:

第一个 RSS 源:
URL: https://techcrunch.com/feed/
第二个 RSS 源:
URL: https://www.theverge.com/rss/index.xml
第三个 RSS 源:
URL: https://feeds.arstechnica.com/arstechnica/index
Step 3: 试运行获取结果
点击 Test Step 按钮,执行节点并查看获取到的新闻数据。
你会看到 RSS 返回的数据包含以下字段:
title: 新闻标题link: 新闻链接pubDate: 发布时间content: 新闻内容guid: 唯一标识符

03 数据转换 - 属性编辑节点
RSS 获取到的数据包含很多字段,我们只需要保留:标题、链接、发布时间、内容。使用 Set 节点进行字段格式化。
Step 1: 增加节点
在每个 RSS Feed Read 节点后添加一个 Set 节点。
Step 2: 设置过滤的字段

在 Set 节点配置中,添加以下字段:
字段 1 - 标题:
Name: title
Value: {{ $json.title }}
字段 2 - 链接:
Name: link
Value: {{ $json.link }}
字段 3 - 发布时间:
Name: pubDate
Value: {{ $json.pubDate }}
字段 4 - 内容:
Name: content
Value: {{ $json.content }}
这样我们就统一了数据结构,每个新闻项都只包含这四个字段。
需要为每个 RSS 源都配置一个 Set 节点,共三个节点。
04 聚合所有的新闻数据
现在我们有三个不同的数据流,需要将它们聚合在一起。
Step 1: 创建数据聚合节点
添加一个 Merge 节点,将三个数据流合并。
Step 2: 配置聚合操作
在 Merge 节点中:
- 模式: Append
- Number of Inputs: 3(对应三个 RSS 源)
将三个 Set 节点的输出都连接到这个 Merge 节点的输入端口。
连接顺序:
- Set 节点 1 → Merge 输入 1
- Set 节点 2 → Merge 输入 2
- Set 节点 3 → Merge 输入 3
05 限制新闻数量
为了避免一次性推送太多新闻,添加一个 Limit 节点限制数量。
配置:
- Max Items: 5(只推送前 5 条新闻)
06 飞书机器人推送
飞书提供群聊机器人功能,可以通过 WebHook 直接发送 HTTP 请求推送消息。
Step 1: 获取飞书机器人 WebHook URL
- 打开飞书群聊
- 点击群设置 → 群机器人 → 添加机器人
- 创建自定义机器人
- 复制 WebHook URL
Step 2: 添加 HTTP Request 节点
在 Limit 节点后添加 HTTP Request 节点。
Step 3: 配置飞书推送信息
在 HTTP Request 节点中配置:
基础配置:
Method: POST
URL: [填入从飞书群中获取到的机器人 WebHook URL]
Body 配置:
Content Type: JSON
Body:
{
"msg_type": "text",
"content": {
"text": "标题:{{ $json.title }}\n原文链接:{{ $json.link }}\n发布时间:{{ $json.pubDate }}\n内容:{{ $json.content }}"
}
}
批处理配置:
Batch Size: 1
这样每条新闻会单独发送一条消息到飞书群。
07 完整工作流结构
完成后的工作流结构如下:

08 测试工作流
手动测试
- 点击工作流左上角的
Execute Workflow按钮 - 观察每个节点的执行状态
- 检查飞书群是否收到新闻推送
查看执行日志
点击每个节点可以查看:
- 输入数据
- 输出数据
- 执行时间
- 错误信息(如果有)
09 常见问题
RSS 源无法访问
问题: RSS Feed Read 节点报错
解决方案:
- 检查 RSS URL 是否正确
- 尝试使用其他 RSS 源
- 检查网络连接
飞书推送失败
问题: HTTP Request 节点返回错误
解决方案:
- 检查 WebHook URL 是否正确
- 确认飞书机器人是否被禁用
- 检查 JSON 格式是否正确
数据格式错误
问题: Set 节点字段映射失败
解决方案:
- 检查字段名是否正确
- 使用
Test Step查看实际数据结构 - 确保 JSON 表达式语法正确
恭喜!你已经成功创建了第一个 n8n 工作流。
通过这个实战项目,你学会了:
- ✅ 使用 Schedule Trigger 创建定时任务
- ✅ 使用 RSS Feed Read 获取数据
- ✅ 使用 Set 节点格式化数据
- ✅ 使用 Merge 节点聚合多数据流
- ✅ 使用 HTTP Request 调用外部 API
- ✅ 完整的数据处理流程
下一步
现在你可以:
- 尝试更换不同的 RSS 源
- 推送到其他平台(钉钉、Slack、Telegram)
- 添加 AI 节点对新闻进行总结
- 创建更复杂的多步骤工作流