29本地电脑上搭建n8n工作流-3

前言

本地把 n8n 搭起来是第一步,后面能玩的东西就很多了。

n8n 常见玩法:

自动化 API

例如:

Webhook → 处理数据 → 调用 API → 写入数据库

常见:

  • 自动发 Telegram

  • 自动发邮件

  • 自动调用 AI


AI 自动化

例如:

Webhook

OpenAI

整理数据

发送到 Notion / Telegram

爬虫自动化

例如:

定时任务

HTTP Request

解析数据

存数据库

本地部署的 n8n:只能 本机访问

如果想:

  • 手机访问

  • 外网访问

  • 接 webhook

一般会加:

  • Cloudflare Tunnel

  • ngrok

localhost:5678 映射到公网。


我今天的需求是:搭建一个自动检测最近一个YouTube视频说明部分的最后200个文本,如果有变化就说明视频有更新,就把视频标题前加一句“节点已更新”和视频链接自动发到 指定Telegram 频道。

完整思路 + 节点结构


一、整体逻辑

目标:

1️⃣ 定时检查某个 YouTube 视频
2️⃣ 获取 标题 + description
3️⃣ 取 description 最后200个字符
4️⃣ 与上一次检测结果比较
5️⃣ 如果变化 → 发送到 Telegram 频道

流程:

Cron (定时任务)

HTTP Request (获取视频数据)

Function (取 description 最后200字符)

Compare (与历史数据比较)

IF
├─ 未变化 → 结束
└─ 有变化 → Telegram发送消息

更新历史记录

二、关键问题:如何获取YouTube视频信息

YouTube官方API是:

https://www.googleapis.com/youtube/v3/videos

请求示例:

https://www.googleapis.com/youtube/v3/videos
?part=snippet
&id=视频ID
&key=你的APIKEY

返回数据里会包含:

snippet.title
snippet.description

三、n8n 节点配置

1️⃣ Cron 节点(定时触发    1小时)



2️⃣ HTTP Request

方法:

GET

URL:

https://www.googleapis.com/youtube/v3/videos

Query参数:

part = snippet
id = 视频ID
key = API_KEY

3️⃣ Function 节点(提取最后200字符)

代码:

const desc = $json.items[0].snippet.description;
const title = $json.items[0].snippet.title;

const last200 = desc.slice(-200);

return [
{
json:{
title:title,
last200:last200
}
}
];

输出:

title
last200

4️⃣ 判断是否变化

有两种做法:

方法1(推荐)

Static Data

Function代码:

const data = this.getWorkflowStaticData('global');

if (!data.last200) {
data.last200 = $json.last200;
return [];
}

if (data.last200 !== $json.last200) {
data.last200 = $json.last200;
return [{json:$json}];
}

return [];

逻辑:

第一次 → 记录
以后 → 比较
变化 → 输出
没变 → 不输出

这样 不会重复发消息


5️⃣ Telegram 发送

节点:

Telegram

操作:

Send Message

频道ID:

@你的频道名

消息内容:

节点已更新

{{$json.title}}

https://youtu.be/视频ID

四、最终效果

当视频说明最后200字符发生变化:

Telegram频道自动出现:

节点已更新

视频标题

https://youtu.be/xxxxxxx

五、一个更专业的优化(推荐)

其实你完全可以不用 YouTube API,直接抓网页:

https://www.youtube.com/watch?v=视频ID

解析:

ytInitialPlayerResponse

优点:

✔ 不需要API Key
✔ 不限请求次数


六、稳定性建议

定时建议:

10分钟

不要:

1分钟

YouTube会限流。





🟢 读者资源专享

这里是我从网络上收集并整理的一些免费节点资源。 如果你需要,可以通过下面的链接下载或订阅使用。

📥 V2ray / Karing / Shadowrocket

下载节点文件 预览节点

📥 Clash Verge

下载节点文件 预览节点

📥 For Shadowrocket

下载节点文件 预览节点

发表评论

0 评论