n8n节点:核心组件解析

今天,将深入了解 n8n 的核心组件——节点(Nodes) 。节点是构建自动化工作流的基石,掌握节点的使用与配置,将帮助你轻松应对各种复杂的自动化任务。

1- 什么是节点?

在 n8n 中,节点是执行特定任务的基本单元。

[!important] 节点
节点也称为 " 逻辑节点 ",是 n8n 工作流当中的核心中的核心,重点的事要说三遍,核心!核心!核心!真正掌握节点概念和操作,为将使用 n8n 铺平了道路。

每个节点代表一个独立的功能模块,允许我们执行 " 条件判断 “、” 数据合并 “、” 循环处理 “、” 设置等待时间 “、” 管理子工作流 “、” 错误处理 " 等,如发送邮件、获取数据、处理信息等。

通过将多个节点连接起来,形成一个完整的工作流(Workflow),你可以实现自动化处理复杂的业务流程。

1.1- 节点的基本结构

[!note] 每个节点通常包含以下几个部分:

  • 触发器 (Trigger) :启动工作流的条件或事件,例如收到一封邮件、新增一条记录等。
  • 操作 (Action) :具体执行的任务,如发送通知、调用 API、处理数据等。
  • 输入与输出 (Input & Output) :节点之间的数据传递,通过输入数据处理后输出结果,供下一个节点使用。

2- 常用节点介绍与使用场景

2.1- HTTP Request 节点

功能简介:用于发送 HTTP 请求,与外部 API 进行交互,程序员一定很容易理解,程序代码请求 API 接口时都要使用 POST、GET 等请求,HTTP Request 节点就起到这个请求作用。

image

2.1.1- 使用场景

  • 获取第三方服务的数据
  • 向 API 发送数据进行处理
  • 集成各种在线服务

2.1.2- 使用示例

假设你想用 GPT-4o 来分析提取 n8n 抓取的网页文章摘要,我们要做就是使用 HTTP Request 节点配置请求对应内容的页面,然后对 HTML 进行解析提取目标链接。

这是一个端到端自动化任务的例子,使用 n8n 来创建这个工作流不仅高效,而且还能通过 OpenAI 模型对抓取的内容进行分析,将有价值的内容提取出来保存或者提供给下流的业务使用。

GPT-4分析示例

工作流执行结果

了解该工作流,登录 " 疯聊 " 查看详细 https://www.fengchat.one

2.2- Function 节点

功能简介:允许你编写自定义 JavaScript、Python 代码,对数据进行复杂的处理和转换。

Function节点界面

使用 Javascript、Python 编写代码:

代码编辑界面

代码执行结果

2.2.1- 使用场景

  • 数据清洗与格式转换
  • 执行自定义逻辑
  • 处理从其他节点传递过来的数据

2.2.2- 使用示例

如果你需要对从数据库获取的数据进行过滤,只保留特定条件下的记录,可以在 Function 节点中编写相应的代码,实现精准的数据处理。

2.3- Set 节点

功能简介:用于设置或修改数据属性,常用于初始化或调整数据结构。

2.3.1- 使用场景

  • 为数据添加新字段
  • 更新现有字段的值
  • 创建固定的模板数据

2.3.2- 使用示例

在发送邮件之前,可以使用 Set 节点设置邮件的主题、收件人和正文内容,确保每封邮件的信息准确无误。

2.4- IF 节点

功能简介:实现条件判断,根据不同条件执行不同的操作分支。

IF节点界面

2.4.1- 使用场景

  • 根据数据值进行分支处理
  • 实现逻辑流的控制
  • 处理不同的业务场景

2.4.2- 使用示例

当新用户下单购买时,如果用户提供了优惠券或打折券,IF 节点可以判断优惠券的有效性,并执行相应的优惠处理,否则执行原价业务流。

另外,当使用 AI 自动抓取网页内容的工作流中,核心节点就是 IF。


2.5- Start 节点

功能简介:工作流的起始节点,用于定义触发工作流的条件或事件。

2.5.1- 使用场景

  • 定时任务
  • 接收外部 Webhook
  • 监听特定的系统事件

2.5.2- 使用示例

可以设置 Start 节点每隔一天自动触发一次,执行定期的数据备份工作,确保数据安全。

2.6- 节点之间的数据传递与处理

在 n8n 中,节点通过连接线 进行数据传递。每个节点接收上一个节点输出的数据,进行处理后将结果传递给下一个节点。这种流畅的数据流动,使得构建复杂的自动化工作流变得简单高效。

2.7- 数据处理流程示例

[!example] 以一个简单的资讯订阅邮件发送工作流为例:

  • Start 节点 :每天早上 8 点触发工作流。
  • HTTP Request 节点 :从新闻 API 获取最新的新闻数据。
  • Function 节点 :可以通过 js 或 python 代码筛选出与科技相关的新闻。
  • OpenAI 节点:使用 AI 根据标题和摘要分析出有价值的新闻。
  • Set 节点 :设置邮件的标题和收件人列表。
  • Email 节点 :发送包含精选新闻的邮件给订阅用户。

通过上述流程,n8n 可以自动化完成每天的新闻收集和发送,节省大量手动操作的时间。

3- 实战案例:Wordpress 文章同步到 fengchat

我们通过一个实际的案例,来演示如何使用不同的节点构建一个数据同步的工作流,将在 Wordpress 上发布的文章同步到 fengchat。

3.1- 完整的流程

完整工作流程图

3.2- 工作流执行结果

工作流执行结果截图

疯语咒 AI 是 wordpress 站点,在疯语咒 AI 上发布新的文章都会在数秒后同步到 fengchat 内容文章列表中

同步到Fengchat的效果

4- 介绍一下这个案例

4.1- 设置 Start 节点

使用 Webhook 触发器 (Start 节点一种),Webhook 用来持续监听是否有新的文章发布。

Webhook触发器设置

同时需要在疯语咒 AI 站点后台插件管理中安装 WP Webhook 触发器插件,WP Webhook 触发器插件是 Wordpress 第三方的插件,我们直接在后台插件管理中搜索安装即可

这里介绍一下设置。假设已经安装完成点击 " 设置 " 进入如下界面:

WP Webhook插件设置界面

需要设置一个触发器调用的网址,这个网址在 n8n Webhook 触发器中创建,双击打开,自动为我们生成好了监听网址,图上是 localhost 这是服务器使用 nginx 代理的原因,只要在 Wordpress 插件中换成 n8n 所在服务器域名就可以了,如图:

Webhook监听地址配置

触发器可以生成监听 Wordpress 测试地址 (Test URL) 和正式地址 (Production URL),将他们填入 Wordpress WP webhook 触发器中,这里是疯语咒 AI.

Webhook URL配置

4.2- 启动触发器

触发器是我们常用的一种工作流启动开关,适合使用在很多场景中,比如网页内容变动时触发,系统数据发生变化时触发工作流执行。

测试的话可以直接点击测试流程按钮,如图:

测试流程按钮

在正式运行时,只需要打开激活流程开关 ( Inactive ) 就可以了,表示流程激活进入后台运行状态,流程就可以一直运行下去,如图:

激活流程开关

4.3- 发布文章

在疯语咒 AI 站点上发布本文《第三章:深入理解 n8n 节点:核心组件解析》,让触发器能捕捉到文章数据。

文章发布界面

4.3.1- 发布文章

文章发布成功

n8n 触发器 1 秒钟就捕获了这篇文章数据,如图:

触发器捕获数据

4.4- 设置 Edit Fields 节点

这一步是将触发器将获取的文章数据进行整理,选择出需要的字段信息。

Edit Fields节点设置

左边是流程上一个节点获得的数据 (这里就会触发器获得的文章数据),中间是处理设置,我们选择需要数据并设置字段名称,右边是根据设置结果将要输出的数据,这里就是我们要保存到数据库的文章数据,包括,标题、内容、摘要、作者、日期等信息

鼠标直接拖拽节点到字段框,非常方便,如图

字段拖拽演示

4.5- 设置入库对应字段

将 Edit Fields 节点获得的数据对应到数据库中。使用什么数据库没关系,操作都类似,你可以使用很多种数据库,这里就不细说了。

数据库配置界面

设置好数据库连接、插入操作、插入数据表名称、插入字段名。右边表格我们可以看到输出到数据库的效果。

数据库输出效果

我们可以看到文章已经同步到 fengchat 上来了,整个过程都是自动的,

换种思路,可以让 AI 再发布文章之后再进行优化,将优化或改写后的文章同步到 fengchat,这只需要再流程中添加一个 AI 节点就可以了。

[!summary] 结语
节点是 n8n 的核心,掌握节点的使用是构建高效自动化工作流的关键

通过对 n8n 节点的深入解析,我们了解了如何利用不同的节点实现各种自动化任务。节点的灵活应用,使得 n8n 成为一款强大的 AI 自动化工具,无论是简单的任务还是复杂的业务流程,都能轻松应对。