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. 数据处理流程示例

通过上述流程,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 自动化工具,无论是简单的任务还是复杂的业务流程,都能轻松应对。