[n8n] ์ ํ๋ธ ๊ตฌ๋ ์ฑ๋ ์ ์์ ์ด๋ฉ์ผ๋ก ๋ฐ์๋ณด๊ธฐ
๐ก ์ํฌํ๋ก์ฐ ๋ชฉํ
- ํน์ ์ ํ๋ธ ์ฑ๋์ ์๋ก์ด ์์ ์กฐํ (RSS ์ด์ฉ)
- ์ต๊ทผ 1์ฃผ์ผ ์ด๋ด ์ ๋ก๋ํ ์์๋ง ํํฐ๋ง
- ํํฐ๋งํ ์์ ์ ๋ณด๋ค์ ํ๋๋ก ์ทจํฉํ์ฌ ์ด๋ฉ์ผ ๋ฐ์ก

์ ํ๋ธ ์ฑ๋ ID ํ์ธํ๊ธฐ
RSS๋ ์ฆ๊ฒจ ์ฐพ๋ ์น์ฌ์ดํธ๋ ๋ธ๋ก๊ทธ ๋ฑ์ ์๋ก์ด ์์์ ๋งค๋ฒ ์ง์ ๋ฐฉ๋ฌธํ ํ์ ์์ด ํ๊ณณ์์ ๋ชจ์ ๋ณผ ์ ์๋๋ก ํด์ฃผ๋ ๊ธฐ์ ์ด๋ค. Feedly ๊ฐ์ RSS ๋ฆฌ๋๊ธฐ๋ฅผ ์ฌ์ฉํ๋ฉด ์ ๊ธ์ด ์ฌ๋ผ์ฌ ๋๋ง๋ค ์ฝํ ์ธ ๋ฅผ ์๋์ผ๋ก ๊ฐ์ ธ์ฌ ์ ์๋ค.
์ ํ๋ธ๋ RSS ๋ฒํผ์ ๋ณ๋๋ก ์ ๊ณตํ์ง ์์ง๋ง, ์๋ URL ํ์์ ํตํด RSS ํผ๋ ๊ธฐ๋ฅ์ ์ง์ํ๋ค. ์ ํ๋ธ RSS ํผ๋๋ ์ต์ ๋์์ 15๊ฐ(๋ณ๋ ๊ฐ๋ฅ) ์ ๋ณด๋ฅผ XML ํ์์ผ๋ก ๋ฐ์๋ณผ ์ ์๋ค.
https://www.youtube.com/feeds/videos.xml?channel_id=์ฑ๋ID
ํน์ ์ฑ๋์ ์์์ RSS๋ก ๋ฐ์๋ณด๋ ค๋ฉด ๋จผ์ ์ฑ๋ ID๋ฅผ ์์์ผ ํ๋ค. ๊ตฌ๊ธ์ Youtube Channel ID Finder๋ฅผ ๊ฒ์ํ๋ฉด ์ฑ๋ ID๋ฅผ ์ฐพ์์ฃผ๋ ๋ค์ํ ์ฌ์ดํธ๊ฐ ๋์ค๋๋ฐ, ๊ฐ์ธ์ ์ผ๋ก COMMENT PICKER๋ฅผ ์ถ์ฒํ๋ค. ์์ ๋งํฌ, ์ฑ๋ ์ฃผ์ ๋๋ ์ฌ์ฉ์ ์ด๋ฆ(ํธ๋ค)์ ์ ๋ ฅํ๋ฉด ์ฑ๋ ID๋ฅผ ์๋์ผ๋ก ์ฐพ์์ค๋ค.

์ข์ํ๋ ์ฑ๋ 2~3๊ฐ ์ ๋ ๊ณจ๋ผ์ ์ฑ๋ ID๋ฅผ ๊ธฐ๋กํด ๋๋ค.
์คํฐ์ปค ๋ ธํธ
์๋์ฐ ์คํฐ์ปค ๋ฉ๋ชจ์ฒ๋ผ n8n ์ํฌํ๋ก์ฐ ์บ๋ฒ์ค์๋ ์คํฐ์ปค ๋
ธํธ๋ฅผ ์ถ๊ฐํ ์ ์๋ค. ๋จ์ถํค Shift + S ํน์ ๋ง์ฐ์ค ์ฐํด๋ฆญ > Add sticky note๋ฅผ ํด๋ฆญํ๋ฉด ๋
ธ๋์ ํฌ์คํธ์์ด ์ถ๊ฐ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋งํฌ๋ค์ด ๋ฌธ๋ฒ์ ์ง์ํ๊ธฐ ๋๋ฌธ์ ์ข ๋ ํธํ๊ฒ ํ์ํ ๋ด์ฉ์ ์ ๋ฆฌํ ์ ์๋ค. ์์์ ํ์ธํ ์ฑ๋ ID๋ฅผ ์คํฐ์ปค ๋
ธํธ์ ์ ์ด๋์.

์ฑ๋ ID ์ ๋ ฅํ๊ธฐ
์์์ ํ์ธํ ์ฑ๋ ID๋ฅผ n8n์์ ์ฌ์ฉํ ์ ์๋๋ก Edit Fields (Set) ๋ ธ๋๋ฅผ ์ถ๊ฐํ๋ค. Mode๋ Manual Mapping์ผ๋ก ์ ํํ๊ณ , Add Field๋ฅผ ํด๋ฆญํด์ ์ฑ๋ ID๋ฅผ ๋ฐฐ์ด(Array) ํํ๋ก ์ ๋ ฅํ๋ค.

๋ฐฐ์ด ์ ๋ ฅ ์์:
[
"UCA_hgsFzmynpv1zkvA5A7jA",
"UCHKDlM4UOmtEBhwDTg8lqJQ",
"UCoCvTlU0KpNYwnMIgs7MPrA"
]
์ฑ๋ ID ๋ถ๋ฆฌํ๊ธฐ
Edit Fields ๋ ธ๋์์ ๋ง๋ ๋ฐฐ์ด์ ์์ง ํ๋์ ์์ดํ ์์ ์ฌ๋ฌ ์ฑ๋ ID๊ฐ ๋ฌถ์ฌ ์๋ ํํ๋ค. ๊ฐ ์ฑ๋์ RSS ํผ๋๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์กฐํํ๋ ค๋ฉด ๋ฐฐ์ด์ ๋ด๊ธด ๊ฐ์ ํ๋์ฉ ๋ถ๋ฆฌํด์ผ ํ๋ค.
์ด๋ฅผ ์ํด Split Out ๋
ธ๋๋ฅผ ์ถ๊ฐํ๋ค. ๋ถ๋ฆฌํ ๋์ ํ๋(Field To Split Out)์ channel_ids๋ฅผ ์ง์ ํ๊ณ , ๋ถ๋ฆฌ๋ ๊ฐ์ด ๋ด๊ธธ ์ ํ๋ ์ด๋ฆ์ channel_id๋ก ์ค์ ํ๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ฐฐ์ด์ ๋ค์ด ์๋ ์ฑ๋ ID๋ค์ด ์ฌ๋ฌ ๊ฐ์ ๋
๋ฆฝ๋ ์์ดํ
์ผ๋ก ๋๋๋ค.

๊ฒฐ๊ณผ ์ถ๋ ฅ ์์:
[
{ "channel_id": "UCA_hgsFzmynpv1zkvA5A7jA" },
{ "channel_id": "UCHKDlM4UOmtEBhwDTg8lqJQ" },
{ "channel_id": "UCoCvTlU0KpNYwnMIgs7MPrA" }
]
RSS ํผ๋ ์กฐํํ๊ธฐ
์ด์ ๋ถ๋ฆฌ๋ ๊ฐ๊ฐ์ ์ฑ๋ ID๋ฅผ ์ด์ฉํด ์ ํ๋ธ ์ฑ๋์ ์ต์ ์์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ฌ ์ฐจ๋ก๋ค. RSS Feed ๋
ธ๋ ์ถ๊ฐ > ๋
ธ๋ ์ค์ ํ๋ฉด > URL ํ๋๋ฅผ ํํ์ ๋ชจ๋๋ก ๋ณ๊ฒฝ > ์ ํ๋ธ RSS ๊ธฐ๋ณธ ์ฃผ์ ๋ค์ ์์ ๋ง๋ channel_id ๊ฐ์ ๊ฒฐํฉํ๋ค. ์ด๋ ๊ฒ ์ค์ ํ๋ฉด ๊ฐ ์ฑ๋์ ํผ๋๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์กฐํํ์ฌ ์์ ์ ๋ชฉ, ๋งํฌ, ๊ฒ์์ผ ๋ฑ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค.

URL ํํ์(Expression) ์ ๋ ฅ ์์:
https://www.youtube.com/feeds/videos.xml?channel_id={{ $json.channel_id }}
์ต๊ทผ ์์๋ง ํํฐ๋งํ๊ธฐ
1์ฃผ์ผ ์ด๋ด์ ์ ๋ก๋ํ ์์๋ง ๊ณจ๋ผ๋ด๊ธฐ ์ํด Filter ๋ ธ๋ ์ถ๊ฐ > ๋ ธ๋ ์ค์ ํ๋ฉด > Add Condition ๋ฒํผ์ ํด๋ฆญํด์ ์กฐ๊ฑด์ ์ค์ ํ๋ค. ์ฒซ ๋ฒ์งธ ๊ฐ์๋ ์์ ์ ๋ก๋ ๋ ์ง๋ฅผ ์ ๋ ฅํ๊ณ , ์กฐ๊ฑด ์ฐ์ฐ์๋ is after(์ดํ)๋ฅผ ์ ํํ๋ค. ๋ ๋ฒ์งธ ๊ฐ์๋ ์ค๋ ๊ธฐ์ค 1์ฃผ์ผ ์ ๋ ์ง๋ฅผ ์ง์ ํ๋ค.

์ ํํ ๋ ์ง ๋น๊ต๋ฅผ ์ํด ๊ฐ ํ๋๋ฅผ ํํ์ ๋ชจ๋๋ก ๋ณ๊ฒฝํ ๋ค ์๋ ์ฝ๋๋ฅผ ์ ๋ ฅํ๋ค. ์ด ์ฝ๋๋ ๋ ๋ ์ง๋ฅผ UTC ๊ธฐ์ค์ผ๋ก ๋ง์ถ๊ณ , ์๊ฐ ๋จ์ ์ฐจ์ด๋ฅผ ์์ ๊ธฐ ์ํด ํ๋ฃจ์ ์์ ์์ (00์ 00๋ถ)์ผ๋ก ํต์ผํ์ฌ ๋น๊ตํ๋ค.
์ฒซ ๋ฒ์งธ ๊ฐ ์ ๋ ฅ ์์(์์ ์ ๋ก๋ ๋ ์ง):
{{ DateTime.fromISO($json.isoDate).setZone("utc").startOf("day") }}
๋ ๋ฒ์งธ ๊ฐ ์ ๋ ฅ ์์(1์ฃผ์ผ ์ ๋ ์ง):
{{ $now.minus({weeks:1}).setZone("utc").startOf("day") }}
setZone("utc"): ๊ธฐ์ค ์๊ฐ์ UTC(ํ์ ์ธ๊ณ์)๋ก ํต์ผํ์ฌ ์ง์ญ ์ค์ ์ ๋ฐ๋ฅธ ์๊ฐ ์ฐจ์ด๋ฅผ ์ค์ธ๋ค.startOf("day"): ํด๋น ๋ ์ง์ ์์ ์์ (00์ 00๋ถ)์ผ๋ก ์ด๊ธฐํํ์ฌ ๋ ์ง(์ผ) ๋จ์๋ก ๋น๊ตํ ์ ์๊ฒ ํ๋ค.
UTC ํ์ ์ธ๊ณ์๋?
์ ์ธ๊ณ๊ฐ ๊ณตํต์ผ๋ก ์ฌ์ฉํ๋ ํ์ค ์๊ฐ. UTC ์์ฒด๋ ๊ธฐ์ค์ ์ธ UTC+0์ ์๋ฏธํ๋ฉฐ, ๊ฐ ๊ตญ๊ฐ์ ์ง์ญ์ ์๊ฐ์ ์ด UTC๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ช ์๊ฐ ๋น ๋ฅธ์ง ๋๋ ๋๋ฆฐ์ง๋ก ํํํ๋ค. ํ๊ตญ ์๊ฐ(KST)์ UTC๋ณด๋ค 9์๊ฐ ๋น ๋ฅธ UTC+9๋ค.
์ ํ๋ธ ์๋ฒ์ n8n ์์คํ ์ ์๊ฐ๋ ์ค์ ์ด ๋ค๋ฅผ ์ ์์ผ๋ฏ๋ก, ๋ ์ง๋ฅผ ๋น๊ตํ ๋๋ UTC๋ก ๊ธฐ์ค์ ํต์ผํ๋ฉด ์์ฐจ๋ก ์ธํ ๊ณ์ฐ ์ค๋ฅ๋ฅผ ์ค์ผ ์ ์๋ค.
์์ ์ ๋ณด ํ๋๋ก ์ทจํฉํ๊ธฐ
Filter ๋ ธ๋๋ฅผ ํต๊ณผํ ์์๋ค์ ๊ฐ๊ฐ ๊ฐ๋ณ ์์ดํ (item)์ผ๋ก ์ ๋ฌ๋๋ค. ๋ง์ฝ ์ด ์ํ์์ ์ด๋ฉ์ผ ๋ฐ์ก ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํ๋ฉด, ํํฐ๋ง๋ ์์ ๊ฐ์๋งํผ ์ด๋ฉ์ผ์ด ๋ฐ์ก๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
์ฌ๋ฌ ๊ฐ์ ์์ ์ ๋ณด๋ฅผ ํ๋์ ์ด๋ฉ์ผ์ ๋ด์์ ๋ณด๋ด๋ ค๋ฉด, ๊ฐ๋ณ ์์ดํ ๋ค์ ํ๋๋ก ๋ฌถ์ด์ฃผ๋ Aggregate ๋ ธ๋๋ฅผ ์ถ๊ฐํด์ผ ํ๋ค.

Aggregate ๋ ธ๋๋ฅผ ์ถ๊ฐํ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํ๋ค.
- Aggregate:
All Item Data (Into a Single List)
๋ชจ๋ ์์ดํ ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋ฆฌ์คํธ๋ก ํฉ์น๋ค. - Put Output in Field:
data
ํฉ์น ๊ฒฐ๊ณผ๋ฅผdata๋ผ๋ ์ด๋ฆ์ ํ๋์ ๋ด๋๋ค. - Include:
Specified Fields
์ง์ ํ ํ๋๋ง ๊ฒฐ๊ณผ์ ํฌํจํ๋ค. - Fields To Include:
title, link, author, pubDate
๊ฒฐ๊ณผ์ ํฌํจํ ํ๋๋ฅผ ์ ๋ชฉ, ๋งํฌ, ์์ฑ์, ๋ฐํ์ผ๋ก ์ ํํ๋ค.
์ด์ ์ฌ๋ฌ ๊ฐ์๋ ์์ดํ
๋ค์ด ํ๋์ data ๋ฐฐ์ด์ ํฌํจ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
[
{
"data": [
{
"title": "์์์ ๋ชฉ 1",
"link": "https://www.youtube.com/watch?v=...",
// ...
},
{
"title": "์์์ ๋ชฉ 2",
"link": "https://www.youtube.com/watch?v=...",
// ...
},
// ...
]
}
]
์ด๋ฉ์ผ ๋ณด๋ด๊ธฐ
์ด์ ํ๋๋ก ์ทจํฉ๋ ์์ ์ ๋ณด๋ฅผ ์ด๋ฉ์ผ๋ก ๋ฐ์๋ณผ ์ฐจ๋ก๋ค. ์ฌ์ฉ ์ค์ธ ์ด๋ฉ์ผ ์๋น์ค์ ๋ง๊ฒ ๋ฐ์ก ๋ ธ๋๋ฅผ ์ถ๊ฐํ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํ๋ค.

- Resource: Message
- Operation: Send
- To: ๋ฐ๋ ์ฌ๋ ์ด๋ฉ์ผ ์ฃผ์
- Subject: Your Weekly YouTube Digest!
- Email Type: HTML
- Message: ํํ์ ๋ชจ๋๋ก ๋ณ๊ฒฝ ํ ์๋ ๋ด์ฉ ์ ๋ ฅ
<h1>Your YT Weekly Digest</h1>
{{
$json.data.map(item => `
<div>
<h2>${item.title}</h2>
Author: ${item.author}<br />
Date: ${DateTime.fromISO(item.pubDate).toRelative({ locale: "ko" })}<br />
Link: ${item.link}
</div>
<hr />
`).join("")
}}
์ ์ฝ๋์์ DateTime.fromISO(...).toRelative({ locale: "ko" }) ๋ถ๋ถ์ ์์ ์
๋ก๋ ๋ ์ง๋ฅผ 3์ผ ์ , 5์๊ฐ ์ ๊ณผ ๊ฐ์ด ์ฝ๊ธฐ ํธํ ํ๊ตญ์ด ์๋ ์๊ฐ์ผ๋ก ๋ณํํด์ค๋ค. ์์ธํ ๋ด์ฉ์ Luxon ๊ณต์ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์.
ํํ์ ์ ๋ ฅ์ฐฝ ์ฐ์ธก ํ๋จ์ ํธ์ง๊ธฐ [โ] ๋ฒํผ์ ๋๋ฅธ ๋ค, Result ์์ญ์ HTML ํญ์ ์ ํํ๋ฉด ๋ฉ์ผ ๋ณธ๋ฌธ์ด ์ค์ ๋ก ์ด๋ป๊ฒ ํ์๋๋์ง ๋ฏธ๋ฆฌ ํ์ธํ ์ ์๋ค.

์ด์ ๊ฐ ๋ ธ๋๋ฅผ ์์๋๋ก ์ฐ๊ฒฐํ ๋ค ์ํฌํ๋ก์ฐ๋ฅผ ์คํํด ๋ณด์. ์ง์ ํ ์ด๋ฉ์ผ ์ฃผ์๋ก ์์ ์์ฝ ๋ฉ์ผ์ด ์ ์์ ์ผ๋ก ๋์ฐฉํ๋ค๋ฉด ์ฑ๊ณต์ด๋ค.

'๐ช Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [n8n] ๊ตฌ๊ธ ๋๋ผ์ด๋ธ ํ์ผ/ํด๋ ์ ๋ฆฌ AI ์์ด์ ํธ ๋ง๋ค๊ธฐ (0) | 2026.05.19 |
|---|---|
| [n8n] ์์ผ ์๋ฆผ ์ด๋ฉ์ผ ๋ณด๋ด๊ธฐ (0) | 2026.05.17 |
| [n8n] ์น์ฌ์ดํธ ๋ชจ๋ํฐ๋ง ํ ๋ ๊ทธ๋จ ๋ด ๋ง๋ค๊ธฐ (0) | 2026.05.16 |
| [n8n] ์ํฌํ๋ก์ฐ ์๋ํ ์ ๋ฌธ: ํต์ฌ ๊ฐ๋ + ๊ธฐ์ด ์ค์ต (0) | 2026.05.12 |
| [CLI] ์ ์ฉํ ์ ธ(Shell) ํฐ๋ฏธ๋ ๋จ์ถํค/ํ ๋ชจ์ (0) | 2026.04.10 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[n8n] ๊ตฌ๊ธ ๋๋ผ์ด๋ธ ํ์ผ/ํด๋ ์ ๋ฆฌ AI ์์ด์ ํธ ๋ง๋ค๊ธฐ
[n8n] ๊ตฌ๊ธ ๋๋ผ์ด๋ธ ํ์ผ/ํด๋ ์ ๋ฆฌ AI ์์ด์ ํธ ๋ง๋ค๊ธฐ
13:33:19 -
[n8n] ์์ผ ์๋ฆผ ์ด๋ฉ์ผ ๋ณด๋ด๊ธฐ
[n8n] ์์ผ ์๋ฆผ ์ด๋ฉ์ผ ๋ณด๋ด๊ธฐ
2026.05.17 -
[n8n] ์น์ฌ์ดํธ ๋ชจ๋ํฐ๋ง ํ ๋ ๊ทธ๋จ ๋ด ๋ง๋ค๊ธฐ
[n8n] ์น์ฌ์ดํธ ๋ชจ๋ํฐ๋ง ํ ๋ ๊ทธ๋จ ๋ด ๋ง๋ค๊ธฐ
2026.05.16 -
[n8n] ์ํฌํ๋ก์ฐ ์๋ํ ์ ๋ฌธ: ํต์ฌ ๊ฐ๋ + ๊ธฐ์ด ์ค์ต
[n8n] ์ํฌํ๋ก์ฐ ์๋ํ ์ ๋ฌธ: ํต์ฌ ๊ฐ๋ + ๊ธฐ์ด ์ค์ต
2026.05.12