n8n自动化实战:先接DeepSeek做AI工作流,再用HTTP和HTML节点完成网页抓取
前言
重复任务真正麻烦的地方,往往不是第一次写脚本,而是后面不断修改、接新接口、换账号、加判断。流程一旦跨到多个系统,原本几行能解决的代码很容易越堆越长,时间久了连“这一步为什么这么写”都要重新翻。
n8n解决的就是这类自动化编排问题。它把触发器、HTTP请求、AI、数据处理和其他服务都做成节点,流程关系直接画在画布上,需要增加一步时继续接节点,而不是重新把整段逻辑塞进一个脚本。
这篇会先在CentOS上通过Docker运行n8n,再实际搭两条工作流。第一条接入DeepSeek,让触发器把消息交给AI Agent处理;第二条用HTTP请求和HTML节点完成网页抓取,把“调用接口 → 获取页面 → 提取内容”这条链跑起来。
做到这里以后,n8n的价值就不再只是“有一个可视化界面”,而是能把不同能力组合成可以反复执行、继续扩展的自动化流程。
如果这套n8n只在本地使用,到局域网访问已经够用;但Webhook、远程触发或异地管理需要外部入口,因此后半段再通过cpolar把5678端口映射到公网,并配置固定地址。整篇真正跑的是部署n8n → 搭AI工作流 → 搭网页抓取工作流 → 验证自动化链路 → 需要时扩展公网入口这条主线。
1.什么是n8n
n8n(发音为 “n-eight-n”)是一款开源、可自托管、低代码的自动化工作流引擎,核心用途是把不同应用、接口和处理步骤连接成一条可视化流程。
核心特点
开源免费
基于MIT许可证,代码完全公开,无隐藏收费,无厂商锁定。
可自托管
支持部署在本地服务器、Docker、Kubernetes或云平台,数据完全由你掌控,保障隐私与安全。
可视化流程编排
通过直观的拖拽式界面,用“节点”(Nodes)连接触发器与操作,像搭积木一样构建复杂自动化逻辑,无需写代码(也支持JavaScript自定义函数)。
300+ 原生集成
支持Slack、飞书、企业微信、Notion、Google Sheets、MySQL、PostgreSQL、Webhook、AWS、Telegram、Zapier等主流工具,轻松打通数据孤岛。
高度可扩展
可开发自定义节点,或使用社区贡献的插件,满足个性化需求。
典型应用场景
- 自动将表单提交数据存入数据库并发送邮件通知
- 监控服务器状态,异常时通过钉钉/Telegram告警
- 同步多平台客户信息到CRM系统
- 构建内部审批流:飞书 → 数据库 → 邮件归档
- 替代Zapier / Make,节省成本,提升可控性
为什么选择n8n?
| 特性 | n8n | 商业自动化(如 Zapier) |
|---|---|---|
| 开源 | ✅ 是 | ❌ 否 |
| 自托管 | ✅ 支持 | ❌ 仅 SaaS |
| 成本 | 💰 免费(自托管) | 💳 按任务收费 |
| 数据隐私 | 🔒 完全私有 | ☁️ 存于第三方服务器 |
| 灵活性 | ⚙️ 支持自定义代码 | ⚠️ 功能受限,不支持自定义代码 |
2.准备工作
若你的系统尚未安装Docker,请先一键安装:
2.1 卸载旧版Docker(若有)
yum removedockerdocker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine2.2 安装依赖包
yuminstall-yyum-utils device-mapper-persistent-data lvm22.3 添加Docker国内源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo2.4 安装Docker并启动:
yuminstall-ydocker-ce docker-ce-cli containerd.io systemctl startdockersystemctlenabledocker# 开机自启docker--version# 显示版本即成功2.5 配置Docker国内速(必做,解决拉取失败)
新建/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 restartdocker3.部署n8n
3.1 安装n8n
在线手动拉取n8n最新镜像(便于查看进度):
dockerpull n8nio/n8n:latest创建数据目录(避免容器删除后数据丢失):
mkdir-p~/.n8nchmod-R777~/.n8n# 赋予读写权限启动n8n容器(后台运行 + 开机自启 + 基础认证):
参数解析:
- N8N_COOKIE_SECURE=false # 关键:禁用Secure Cookie,取消安全Cookie强制要求
- N8N_SECURE_COOKIE=false # 兼容旧版本n8n的参数
- N8N_BASIC_AUTH_USER=admin # 自定义管理员账号
- N8N_BASIC_AUTH_PASSWORD=YourStrongPass123! # 自定义强密码
- TZ=Asia/Shanghai #适配中国时区
- restart always #异常自动重启+开机自启
dockerrun-d--namen8n-p5678:5678-v~/.n8n:/home/node/.n8n-eN8N_BASIC_AUTH_ACTIVE=true-eN8N_BASIC_AUTH_USER=admin-eN8N_BASIC_AUTH_PASSWORD=root@1234-eTZ=Asia/Shanghai-eN8N_COOKIE_SECURE=false-eN8N_SECURE_COOKIE=false--restartalways n8nio/n8n:latest查看容器状态:
dockerps|grepn8n访问n8n界面:
打开浏览器输入http://服务器IP:5678
3.2 初始化n8n
使用自己的邮箱及用户名密码登录到n8n主页:
登录成功后填写一下基础背调:
获取永久免费密钥:
在”settings“中,找到“Usage and plan”中添加刚刚获取的永久免费密钥:
初始化完成后,就可以进入工作流画布开始实际搭建自动化流程。
4.玩转n8n实战
4.1 搭建第一个n8n工作流(接入AI)
第一条工作流先接入AI服务,用来验证n8n如何把触发器、AI Agent和模型节点组合成一条可执行链。本文这里使用DeepSeek作为模型服务。
注册账号
访问DeepSeek开放平台,点击“注册”,按照页面提示完成账号创建。
获取API密钥
登录你的DeepSeek平台账号。
在左侧导航栏中找到 “API密钥”(或类似名称的选项)。
点击 “创建新的API密钥”。
为密钥设置一个便于识别的名称(例如:n8n),然后确认创建。
重要提示
创建成功后,系统将仅显示一次完整的API密钥。请务必立即复制并将其保存在安全的位置(如密码管理器或加密的本地文件中)。若不慎丢失,无法找回,只能重新生成新密钥。
新建工作流在n8n仪表板点击"Create Workflow",添加作为触发器节点:
点击加号选择节点:
继续如图操作:
添加AI节点点击触发器节点的号,搜索AI Agent:
配置AI模型:
选择deepseek,填入密钥:
回到画布,开始验证,点击open chat ;
给 AI发一条信息:
收到有效响应即验证成功。
AI能够正常返回结果后,说明第一条工作流已经跑通:触发器接收输入,AI Agent调用模型,再把结果返回。
4.2搭建第二个工作流(网页抓取)
创建新工作流:在n8n面板点击“创建工作流”,进入可视化编辑界面:
点击加号选择节点:
继续如图操作:
添加AI节点点击触发器节点的号,搜索AI Agent:
搜索“http"并添加:
添加HTTP请求节点并连接至触发节点。在参数窗口设置请求方法为GET,目标网址填入https://scrapeme.live/shop/:
添加一个HTML节点并选择**“提取HTML内容”**操作。
测试验证:返回主界面点击“执行工作流”,成功节点将显示绿色边框。若出现红色提示或数据异常,请检查参数设置与网页结构,或查阅官方文档。
前面的两条工作流已经能够在本地n8n中执行。如果后续希望从手机、远程服务器或第三方服务触发本地工作流,还需要给n8n提供一个外部可访问的地址。
这里继续使用cpolar,把本地运行的n8n Web界面和对应入口映射到公网,方便后续远程访问或接收外部触发。
5.安装cpolar实现外部访问
5.1 什么是cpolar?
cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。
5.2 部署cpolar
cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
❤️以下是安装cpolar步骤:
使用一键脚本安装命令:
sudocurlhttps://get.cpolar.sh|sh安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudosystemctl status cpolarCpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。
6.配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:n8n,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:5678
- 域名类型:随机域名
- 地区:选择China Top
创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。
公网地址能够正常打开后,说明本地n8n已经可以从其他网络环境访问。
7.保留固定公网地址
使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。
点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是n8n,大家可以自定义。填写备注信息,点击保留。
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新
更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。
最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。
总结
这篇真正完成的,不只是把n8n通过Docker跑起来,而是实际搭了两条不同类型的工作流。第一条把触发器、AI Agent和DeepSeek连接起来,用来验证AI能力如何进入自动化流程。
第二条则换成更传统的自动化场景:通过HTTP请求获取网页,再交给HTML节点提取内容。这样就能看到n8n真正的价值——不是替代某一段固定脚本,而是把不同能力拆成节点,再按需要继续组合。
这种方式特别适合后续不断变化的流程。要增加通知、数据库写入、条件判断或新的API时,可以继续在现有工作流上扩展,而不是把所有逻辑重新堆进一份脚本里。
后半段的cpolar解决的是外部入口问题:本地n8n工作流已经能执行以后,再把5678端口提供到公网,方便远程打开或接收外部触发。Docker负责运行n8n,n8n负责流程编排,AI和HTTP等节点负责具体任务,cpolar负责需要时把这套自动化带到局域网之外。