欢迎光临
我们一直在努力

自动化不想再堆脚本?用 n8n 把 AI、网页抓取和远程触发串成工作流

自动化不想再堆脚本?用 n8n 把 AI、网页抓取和远程触发串成工作流

前言

我对自动化最怕的一件事,不是任务多,而是脚本越写越散:一个负责抓数据,一个负责发通知,另一个再处理接口,半年后连自己都要先翻目录才能想起它们怎么串起来。n8n 吸引我的地方,正是把这些原本藏在脚本里的执行关系直接摆到画布上,用节点把触发、处理和输出连起来。它不是为了让人彻底告别代码,而是把能标准化的部分先交给节点,需要自定义时再补代码,这种方式对我更顺手。

这次我先从最基础的本地部署开始:准备 Docker,启动 n8nio/n8n:latest,确认 5678 页面能访问;然后真正搭两条流程,一条接入 DeepSeek 做 AI 对话,一条用 HTTP Request 和 HTML 节点抓取网页内容。每条流程都不是“配置完就算成功”,而是要实际执行,看节点有没有正常返回结果。等本地流程都能跑通,再通过 cpolar 把 5678 映射到公网,并换成固定二级子域名 n8n。这样以后再接 Webhook、数据库、通知平台或更多 AI 节点时,扩展的是一条已经看得见、能测试的工作流,而不是继续往目录里堆新的孤立脚本。

I saved thousands on APIs with this n8n & AWS workflow - Getting Automated

1. n8n 的价值,不是“不写代码”,而是把流程关系摆出来

n8n 是一款开源、可自托管、低代码的自动化工作流工具。它通过节点把触发器、应用、数据库、Webhook 和自定义逻辑连接起来,让一条自动化流程不再只存在于几份脚本和注释里。

这类工具最适合几种场景:

  • 表单提交后写入数据库,再发送通知;
  • 监控状态变化后触发告警;
  • 在不同系统之间同步数据;
  • 把 AI 模型接进现有工作流;
  • 接收 Webhook 后继续执行后续节点;
  • 在可视化画布里组合 HTTP、HTML、数据库和代码节点。

它同样支持自定义代码,所以“低代码”并不等于“不能写代码”。更准确地说,是能用现成节点解决的部分就直接连接,需要自定义时再补代码。

2. 先把 Docker 环境准备好

这次使用 CentOS 环境部署。

2.1 如果有旧版 Docker,先执行卸载

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

2.2 安装依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

image-20260225133952999

2.3 添加 Docker 软件源

yum-config-manager –add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

image-20260225134005881

2.4 安装并启动 Docker

yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker # 开机自启
docker –version # 显示版本即成功

image-20260225133932568

这一步同时完成 Docker 安装、启动、开机自启和版本检查。

2.5 配置镜像源

创建 /etc/docker/daemon.json,写入:

{
"registry-mirrors": [
"https://docker.xuanyuan.me",
"https://docker.m.daocloud.io",
"https://docker.imgdb.de",
"https://docker-0.unsee.tech"
]
}

2.6 重新加载并重启 Docker

systemctl daemon-reload
systemctl restart docker

image-20260225134053497

到这里,Docker 这一层先确认正常,再继续拉 n8n 镜像。

3. 部署 n8n

3.1 拉取镜像

先手动拉取最新镜像,方便直接看到下载进度:

docker pull n8nio/n8n:latest

image-20260225134331744

3.2 创建数据目录

mkdir -p ~/.n8n
chmod -R 777 ~/.n8n # 赋予读写权限

image-20260225134437716

这里把 ~/.n8n 挂载到容器里的 /home/node/.n8n,避免容器删除以后配置和数据一起丢掉。

3.3 启动 n8n 容器

这次使用的启动命令是:

docker run -d –name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n -e N8N_BASIC_AUTH_ACTIVE=true -e N8N_BASIC_AUTH_USER=admin -e N8N_BASIC_AUTH_PASSWORD=root@1234 -e TZ=Asia/Shanghai -e N8N_COOKIE_SECURE=false -e N8N_SECURE_COOKIE=false –restart always n8nio/n8n:latest

几个关键参数包括:

  • 容器名:n8n
  • 端口:5678:5678
  • 数据目录:~/.n8n:/home/node/.n8n
  • N8N_BASIC_AUTH_ACTIVE=true
  • N8N_BASIC_AUTH_USER=admin
  • N8N_BASIC_AUTH_PASSWORD=root@1234
  • TZ=Asia/Shanghai
  • N8N_COOKIE_SECURE=false
  • N8N_SECURE_COOKIE=false
  • –restart always
  • 镜像:n8nio/n8n:latest

image-20260225134549629

启动后检查容器:

docker ps | grep n8n

image-20260225134743641

然后访问:

http://服务器IP:5678

image-20260225134918962

页面能打开,说明 n8n 的本地 Web 服务已经正常运行。

4. 完成 n8n 初始化

第一次进入时,根据页面填写邮箱、用户名和密码。

image-20260225135740915

登录以后继续填写基础信息。

image-20260225140713703

随后页面提供永久免费密钥获取入口。

image-20260225140747702

进入 settings,在 Usage and plan 中添加获取到的密钥。

image-20260225141009750

image-20260225140913005

完成以后,就可以开始真正搭工作流。

5. 第一条工作流:把 DeepSeek 接进 n8n

我不太喜欢部署完就停在首页,所以第一条流程直接用 AI 对话做验证。

先准备 DeepSeek API Key:登录 DeepSeek 开放平台,在 API 密钥页面创建新的密钥,并在创建后及时保存。

image-20260225164645366新建工作流在n8n仪表板点击"Create Workflow",添加作为触发器节点:

在 n8n 仪表板点击 Create Workflow。

16f27be078abec52bd37857ab6eb85be

添加触发器节点。

460ad204d4c08687ade2b1f10874aa87

继续完成触发器配置。

421d3a9122959afc2d2c2c5baf9e53c5

然后在触发器后面添加 AI Agent。

c3051c7d38adfac00d50393d7a6a5160

接着配置 AI 模型。

8361c3cea25292bafec5be8120950e46

313cbfcca6cf5c7b69a99c4048f77ca2

e7b01fffbf94d7e7b8ee8a053f4b8e41

选择 DeepSeek,并填入 API Key。

选择deepseek,填入密钥:aa48865f491363f6f672da7cbe21fef2

d12a728ee1823cc9033fad250f043782

fcf0825d7c4e11813212ca8e89c97856

回到工作流画布,打开聊天窗口进行测试。

5cdf4df53a38f25794bd4fb096b332b6

发送一条消息。

00abe8f2fb995c99814f1c87ebcf47ba

能收到有效回复以后,这条链路才算真正成立:

触发器 → AI Agent → DeepSeek → 返回结果。

对我来说,这比“API Key 保存成功”更重要,因为最终要验证的是工作流真的跑了一遍。

6. 第二条工作流:抓取网页内容

第二个例子换一种思路,不再只和 AI 对话,而是让 n8n 处理网页请求。

新建工作流。

16f27be078abec52bd37857ab6eb85be

添加触发节点。

460ad204d4c08687ade2b1f10874aa87

继续按页面完成触发器配置。

421d3a9122959afc2d2c2c5baf9e53c5

接着进入节点选择。

c3051c7d38adfac00d50393d7a6a5160

搜索 http 并添加 HTTP Request 节点。

把 HTTP 请求节点连接到触发节点,请求方法设置为 GET,目标网址按教程填写:

https://scrapeme.live/shop/

c4fd893d32e8f255595a83800338c98b

随后添加 HTML 节点,并选择“提取 HTML 内容”。

e8ee235f7bdf167ffc0f013ebf0d1b33

回到主界面点击执行工作流。

9ddc898291f066fd5299253ee0842f91

执行成功后,节点会显示为成功状态;如果出现错误,再按节点参数和目标网页结构逐步检查。

这一条流程展示的是另一类自动化:

触发器 → HTTP 请求 → HTML 内容提取。

它和上一条 AI 对话放在一起,正好能看出 n8n 的核心并不是某一个具体功能,而是把不同类型的节点按流程连接起来。

7. 为什么本地工作流还需要公网入口?

只在浏览器里手动打开 n8n 时,本地 5678 已经够用。

但自动化真正开始和外部系统连接以后,Webhook、远程触发、异地管理这类场景都会遇到同一个问题:外部服务需要一个能够访问到 n8n 的公网入口。

这时候再加 cpolar,职责会比较清楚:

n8n 负责编排工作流,cpolar 只负责把本地 5678 Web 服务映射到公网。

这样网络入口和自动化逻辑不会混在一起。

8. 安装 cpolar

执行:

sudo curl https://get.cpolar.sh | sh

image-20250725104019896

安装完成后检查服务:

sudo systemctl status cpolar

22e5adfaf290a17fc3384bb296055259

通过主机 IP + 9200 访问 cpolar Web UI。

22e5adfaf290a17fc3384bb296055259

登录以后开始创建 n8n 隧道。

9. 先用随机域名验证 5678

进入【隧道管理 → 创建隧道】,配置为:

  • 隧道名称:n8n
  • 协议:http
  • 本地地址:5678
  • 域名类型:随机域名
  • 地区:China Top

image-20260226112544563

创建完成后,到在线隧道列表查看公网地址。

image-20260226112621543

从其他设备访问。

image-20260226112702381

页面能够正常打开,说明:

本地 n8n 5678 → cpolar 随机公网地址

这条访问链已经跑通。

10. 长期使用,再配置固定二级子域名

随机地址适合测试,但如果后面要持续使用远程入口或配置外部触发,地址长期不变会更方便。

进入预留功能。

image-20250918151358733

地区选择:

china Top

这次保留的二级子域名是:

n8n

image-20260226112811495

然后回到【隧道管理 → 隧道列表】,找到对应隧道并编辑。

image-20260226112856860

修改为:

  • 域名类型:二级子域名
  • Sub Domain:填写已经保留的名称
  • 地区:China Top

点击更新。

image-20260226112941256

更新以后,在线隧道列表里的地址会切换为固定二级子域名。

image-20260226113018242

最后再通过固定地址访问。

image-20260226113048720

页面可以正常打开。

总结

真正让我觉得 n8n 比“再写一个脚本”更顺手的地方,是自动化的结构终于能直接看见了:触发器在哪里、下一步调哪个节点、数据往哪流、哪一步失败,都能顺着画布查。

这次实际跑通的链路包括:

CentOS → Docker → n8nio/n8n:latest → 5678 → 初始化 → DeepSeek AI 工作流 → HTTP Request + HTML 抓取工作流 → cpolar → 随机公网地址 → 固定二级子域名 n8n。

关键配置也都落到了具体位置:

  • Docker 安装与镜像源;
  • ~/.n8n:/home/node/.n8n
  • 5678:5678
  • N8N_BASIC_AUTH_ACTIVE=true
  • N8N_BASIC_AUTH_USER=admin
  • N8N_BASIC_AUTH_PASSWORD=root@1234
  • TZ=Asia/Shanghai
  • N8N_COOKIE_SECURE=false
  • N8N_SECURE_COOKIE=false
  • –restart always
  • AI Agent
  • DeepSeek API Key
  • HTTP Request
  • GET
  • HTML 内容提取
  • cpolar 9200
  • 隧道名 n8n
  • 本地地址 5678
  • China Top
  • 固定二级子域名 n8n

自动化并不会因为换成可视化工具就自动变简单,但它至少把原本散落在脚本、接口和定时任务里的关系收到了同一个工作流里。后面再接数据库、Webhook、通知平台或更多 AI 节点时,扩展的是已有流程,而不是继续往目录里堆新的孤立脚本。

赞(0)
未经允许不得转载:171主机测评 » 自动化不想再堆脚本?用 n8n 把 AI、网页抓取和远程触发串成工作流
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址