유튜브에서 로블록스 관련 인기 키워드를 찾아 활용하려면, 다음과 같은 방법들을 고려해 볼 수 있습니다.
1. 유튜브 키워드 도구 활용
- 튜브버디(TubeBuddy): 유튜브 채널 관리와 키워드 분석을 도와주는 확장 프로그램입니다. 설치 후 유튜브 검색창에 키워드를 입력하면 관련 검색어와 그 인기도를 확인할 수 있습니다.
- 비드아이큐(vidIQ): 또 다른 유용한 확장 프로그램으로, 특정 키워드의 검색량, 경쟁 정도 등을 분석하여 효과적인 키워드 선택을 지원합니다.
2. 유튜브 자동 완성 기능 활용
유튜브 검색창에 '로블록스'를 입력하면 자동으로 연관 검색어 목록이 나타납니다. 이를 통해 사용자들이 자주 검색하는 키워드를 파악할 수 있습니다.
3. 구글 트렌드(Google Trends) 활용
구글 트렌드에서 '로블록스'를 검색하면 시간에 따른 관심도 변화, 지역별 관심도, 관련 주제 및 관련 검색어 등을 확인할 수 있습니다. 이를 통해 현재 인기 있는 키워드를 파악하고 콘텐츠 제작에 반영할 수 있습니다.
4. 로블록스 인기 게임 분석
로블록스 내에서 인기 있는 게임을 파악하면 관련 키워드를 도출하는 데 도움이 됩니다. 예를 들어, 2025년 1월 기준으로 다음과 같은 게임들이 높은 인기를 얻고 있습니다.
- 블록스피스(Blox Fruits): 해적이 되어 다양한 모험을 즐기는 게임으로, 동시접속자 수가 약 774,400명에 달합니다.
- 새우 게임(Shrimp Game): 독특한 컨셉의 게임으로, 약 91,100명의 동시접속자를 보유하고 있습니다.
- 가장 강력한 전장(The Strongest Battlegrounds): 격투 액션 게임으로, 동시접속자 수가 약 200,800명입니다.
이러한 인기 게임들의 제목이나 관련 용어를 키워드로 활용하면 유튜브 검색에서 더 많은 관심을 받을 수 있습니다.
5. 유튜브 검색 연산자 활용
유튜브 검색 시 특정 키워드를 포함하거나 제외하려면 다음과 같은 연산자를 사용할 수 있습니다.
- 포함하려는 키워드:
로블록스 +게임
- 제외하려는 키워드:
로블록스 -강의
이를 통해 원하는 주제의 영상을 더 정확하게 검색할 수 있습니다. 위의 방법들을 활용하여 로블록스 관련 인기 키워드를 파악하고, 이를 기반으로 유튜브 콘텐츠를 제작하면 더 많은 시청자들의 관심을 끌 수 있을 것입니다.
유튜브 및 구글 트렌드의 인기 검색어를 자동으로 수집하고, 이를 n8n을 이용해 슬랙으로 알람하는 방법입니다.
유튜브 검색어 자동완성 크롤링
유튜브 검색창에서 특정 키워드를 입력하면 관련 검색어를 자동완성하는 기능이 있는데, 이를 크롤링하는 방법은 다음과 같습니다.
API 요청 방식
유튜브는 공식 API에서 검색어 자동완성을 제공하지 않지만, 다음 URL을 이용하면 검색 자동완성 데이터를 가져올 수 있습니다.
https://suggestqueries.google.com/complete/search?client=youtube&ds=yt&q={키워드}&hl=ko
예제 (로블록스 키워드 자동완성 요청)
curl "https://suggestqueries.google.com/complete/search?client=youtube&ds=yt&q=로블록스&hl=ko"
응답 데이터 예시 (JSON 형식)
["로블록스",["로블록스 공략","로블록스 무료","로블록스 인기 게임","로블록스 돈 버는 법"],[],{"google:suggesttype":["QUERY","QUERY","QUERY","QUERY"]}]
이렇게 하면 검색어 자동완성 결과를 JSON 형태로 받을 수 있습니다.
구글 트렌드 인기 검색어 가져오기
Google Trends API 사용 (pytrends)
구글 트렌드는 공식 API가 없지만, pytrends
라는 라이브러리를 사용하면 인기 검색어 데이터를 가져올 수 있습니다.
pip install pytrends
구글 트렌드에서 인기 검색어 가져오기
from pytrends.request import TrendReq
pytrends = TrendReq(hl='ko', tz=540)
# "로블록스" 관련 인기 검색어 가져오기
pytrends.build_payload(kw_list=["로블록스"], timeframe="now 1-d", geo="KR", gprop="youtube")
# 연관 검색어 가져오기
related_queries = pytrends.related_queries()["로블록스"]["top"]
print(related_queries)
응답 예시
query value
0 로블록스 100
1 로블록스 공략 88
2 로블록스 무료 76
3 로블록스 아이템 65
이런 식으로 로블록스
와 관련된 인기 검색어를 가져올 수 있습니다.
n8n을 활용한 자동화
이제 크롤링한 데이터를 n8n을 이용해 슬랙으로 알람하도록 설정합니다.
Step 1: n8n 설치
docker run -it --rm --name n8n -p 5678:5678 n8nio/n8n
또는 n8n이 이미 설치되어 있다면 http://localhost:5678
에서 실행하세요.
Step 2: n8n 워크플로우 구성
Cron
노드 → 정해진 시간마다 실행HTTP Request
노드 → 유튜브 검색어 자동완성 API 요청HTTP Request
노드 → 구글 트렌드 데이터 가져오기Function
노드 → 데이터 가공 (필요시)Slack
노드 → 인기 검색어를 슬랙으로 전송
Step 3: n8n 워크플로우 설정
1️⃣ 크론 트리거 설정
Cron
노드를 추가해매일 오전 9시
실행되도록 설정
2️⃣ 유튜브 검색 자동완성 API 요청
HTTP Request
노드를 추가- Method:
GET
- URL:
https://suggestqueries.google.com/complete/search?client=youtube&ds=yt&q=로블록스&hl=ko
- Response Format: JSON
- Method:
3️⃣ 구글 트렌드 검색어 요청
HTTP Request
노드를 추가- Method:
POST
- URL:
https://your-server.com/google-trends-api
(직접 API 서버 운영 가능) - 또는 Python Script 실행 후 n8n에서 결과를 받도록 설정
- Method:
4️⃣ 데이터 가공
Function
노드를 추가해 JSON 데이터를 슬랙 메시지 형태로 변환return [ { json: { text: "📢 오늘의 인기 검색어 (로블록스)\n\n" + items.map((item, index) => `${index + 1}. ${item}`).join("\n") } } ];
5️⃣ 슬랙으로 메시지 전송
Slack
노드를 추가- Slack Credential: 사전에 설정한 Webhook 사용
- Channel:
#youtube-trends
- Text:
${text}
워크플로우를 실행하면 매일 아침 인기 검색어를 자동으로 수집하고 슬랙으로 전송할 수 있습니다. 유튜브 검색 자동완성 API(suggestqueries.google.com
)에 직접 요청하면 400 Bad Request
오류가 발생합니다.
- Google이 직접적인 API 요청을 차단하는 경우가 많음
- 공식적으로 제공하는 API가 아니므로 브라우저에서만 정상 작동하고,
curl
등으로 요청하면 차단될 가능성이 높음.
- 공식적으로 제공하는 API가 아니므로 브라우저에서만 정상 작동하고,
- User-Agent 헤더 필요
- 일부 Google 서비스는 브라우저 환경을 에뮬레이션하지 않으면 차단할 수 있음.
- Referer 또는 기타 요청 헤더 필요
- Google은 특정 서비스가 브라우저에서 실행된다고 가정하고 Referer 정보가 없으면 차단할 수 있음.
1. User-Agent 헤더 추가
일반적인 브라우저의 User-Agent
를 추가하면 정상적으로 요청할 수 있습니다.
curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" \
"https://suggestqueries.google.com/complete/search?client=firefox&ds=yt&q=로블록스&hl=ko"
client=youtube
대신client=firefox
사용 → 일부 클라이언트는 차단될 가능성이 있음.User-Agent
값을 브라우저처럼 설정 → 차단 회피 가능.ds=yt
(유튜브 검색을 의미) 유지.
2. Python을 사용하여 크롤링
Python의 requests
라이브러리를 활용하면 보다 안정적으로 데이터를 가져올 수 있습니다.
import requests
import json
url = "https://suggestqueries.google.com/complete/search?client=firefox&ds=yt&q=로블록스&hl=ko"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
suggestions = json.loads(response.text)
print(suggestions[1]) # 추천 검색어 목록 출력
else:
print("Error:", response.status_code, response.text)
headers
를 추가하여 브라우저 요청처럼 보이도록 설정.- 응답 데이터는
["검색어", ["추천 검색어1", "추천 검색어2", ...]]
형태. suggestions[1]
을 출력하면 연관 검색어 리스트가 나옴.
3. n8n에서 활용하는 방법
위의 Python 코드를 n8n에서 실행하려면, n8n의 "Execute Command" 노드 또는 Python 노드를 사용할 수 있습니다.
1️⃣ HTTP Request 노드 추가
- Method:
GET
- URL:
https://suggestqueries.google.com/complete/search?client=firefox&ds=yt&q=로블록스&hl=ko
- Headers:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
2️⃣ Function 노드 추가 (JSON 가공)
const suggestions = $json["1"]; // 추천 검색어 리스트
return [{ json: { keywords: suggestions.join(", ") } }];
3️⃣ Slack 노드 추가 (메시지 전송)
- Channel:
#youtube-trends
- Text:
📢 유튜브 인기 검색어 (로블록스) - {{ $json.keywords }}
이번에는 위에서 설명한 유튜브 및 구글 트렌드 인기 키워드 수집 및 자동화 프로세스를 MCP (Model Context Protocol) 방식으로 구현하는 방향입니다.
MCP는 AI 모델과 외부 애플리케이션이 상호작용하고 자동화 프로세스를 통제할 수 있도록 하는 구조입니다.
주로 다음의 요소로 구성됩니다.
구성요소 | 설명 |
---|---|
Agent | 사용자와 상호작용하며 명령을 해석하고 실행 흐름을 제어하는 LLM |
Tool (Function) | 실제 외부 API 호출, 크롤링, DB 저장 등 작업을 실행하는 도구들 |
Memory/Context Store | 중간 데이터 저장소 혹은 지속 상태 유지 역할 |
Planner | 의도를 분석하고 필요한 Tool 호출 흐름을 계획하는 모듈 (선택적) |
👉 쉽게 말해, MCP는 LLM이 생각하고, 외부 도구가 행동하며, 결과를 다시 LLM이 해석하는 구조입니다.
📦 적용 목표
- 사용자 입력 없이 매일 인기 키워드 자동 수집
- 유튜브 자동완성 + 구글 트렌드 키워드 수집
- 슬랙으로 결과 자동 전송
- 전체 흐름을 LLM Agent가 관리하고 실행 흐름을 동적으로 조정
🧩 MCP 시스템 구조 설계
[Agent]
↓
[Tool: GetYouTubeSuggestions]
↓
[Tool: GetGoogleTrends]
↓
[Tool: FormatSummary]
↓
[Tool: SendToSlack]
1️⃣ GetYouTubeSuggestions
- 🔹 요청:
"로블록스"
키워드 기반 유튜브 자동완성 검색어 수집 - 🔹 내부 동작
curl
또는requests.get
+ User-Agent 헤더- API:
https://suggestqueries.google.com/complete/search?client=firefox&ds=yt&q=로블록스&hl=ko
2️⃣ GetGoogleTrends
- 🔹 요청:
"로블록스"
키워드 기반 연관 검색어 수집 - 🔹 내부 동작
- pytrends 사용 →
related_queries()
호출
- pytrends 사용 →
3️⃣ FormatSummary
- 🔹 입력: 위 두 결과
- 🔹 출력
- 슬랙 메시지 형태의 문자열
4️⃣ SendToSlack
- 🔹 입력: 요약 메시지
- 🔹 동작: 슬랙 채널로 POST 전송
🧠 예시 Agent 플로우 (MCP JSON)
{
"agent": "KeywordTrendAgent",
"tasks": [
{
"tool": "GetYouTubeSuggestions",
"input": { "query": "로블록스" },
"storeAs": "youtube_suggestions"
},
{
"tool": "GetGoogleTrends",
"input": { "query": "로블록스" },
"storeAs": "google_trends"
},
{
"tool": "FormatSummary",
"input": {
"youtube": "{{youtube_suggestions}}",
"trends": "{{google_trends}}"
},
"storeAs": "summary"
},
{
"tool": "SendToSlack",
"input": {
"channel": "#youtube-trends",
"text": "{{summary}}"
}
}
]
}
🛠 각 Tool 구현 예시 (Python)
🔹 GetYouTubeSuggestions
def GetYouTubeSuggestions(query: str):
import requests, json
headers = {
"User-Agent": "Mozilla/5.0"
}
url = f"https://suggestqueries.google.com/complete/search?client=firefox&ds=yt&q={query}&hl=ko"
res = requests.get(url, headers=headers)
return res.json()[1] # 추천 검색어 리스트
🔹 GetGoogleTrends
def GetGoogleTrends(query: str):
from pytrends.request import TrendReq
pytrends = TrendReq(hl='ko', tz=540)
pytrends.build_payload([query], timeframe='now 1-d', geo='KR', gprop='youtube')
df = pytrends.related_queries()[query]['top']
return df.to_dict(orient="records")
🔹 FormatSummary
def FormatSummary(youtube, trends):
msg = ["📢 *오늘의 로블록스 인기 키워드*"]
msg.append("\n🔍 유튜브 자동완성:")
msg += [f"{i+1}. {kw}" for i, kw in enumerate(youtube)]
msg.append("\n📈 구글 트렌드:")
msg += [f"{i+1}. {item['query']} ({item['value']})" for i, item in enumerate(trends)]
return "\n".join(msg)
🔹 SendToSlack
def SendToSlack(text, channel="#youtube-trends"):
import requests
webhook_url = "https://hooks.slack.com/services/XXXX/YYY/ZZZ" # 실제 값 입력
payload = {
"channel": channel,
"text": text
}
res = requests.post(webhook_url, json=payload)
return res.status_code == 200
🧠 MCP 기반 구성의 장점
항목 | 장점 |
---|---|
확장성 | Agent가 입력 키워드/게임명에 따라 자동 판단하여 다양한 요청 수행 가능 |
유연성 | Tool이 모듈화되어 유지보수 용이 |
자동화 | 정해진 시간에 실행되거나, 슬랙 명령으로 수동 호출도 가능 |
AI 통합 | Gemini, GPT 등 Agent 기반 자연어 인터페이스 확장 가능 (예: "요즘 로블록스 인기 뭐야?"로 명령) |
🚀 보너스: 슬랙 Slash Command로 실행하기
- 슬랙에
/roblox-trend
명령어 등록 - 슬랙 서버로 요청 → MCP Agent 호출 → 결과 슬랙으로 전송
- LLM Agent가 여러 도구 호출 순서 자동 판단 가능
위 MCP 워크플로우를 LangChain
, CrewAI
, 또는 Function Calling API
기반으로 구현할 수 있습니다.
댓글