지난 글에서는 n8n의 개념과 주요 기능에 대해 소개해드렸는데요, 오늘은 그 연장선에서 API 기반 자동화 워크플로를 n8n으로 구현하는 방법과 법적·윤리적 고려사항, 그리고 활용 아이디어를 안내해 드리고자 합니다.
많은 분들이 데이터를 수집한다고 하면 가장 먼저 떠올리는 것이 웹 크롤링입니다. 크롤링은 자동화된 프로그램이 웹페이지를 방문해 필요한 정보를 추출하는 방식인데요, 최근에는 다양한 보안 장치나 사이트 구조의 변화로 인해 이러한 방식의 접근이 점점 더 어려워지고 있습니다. 대표적으로는 다음과 같은 제약이 있습니다.
- JavaScript 기반의 동적 렌더링: 대부분의 현대 웹사이트는 클라이언트 측 JavaScript를 통해 콘텐츠를 동적으로 생성합니다. 이로인해 단순한 HTTP 요청으로는 데이터를 수집하는데 많은 제약이 있습니다.
- 로그인 및 세션 기반의 접근 제한: 사용자 인증이 필요한 페이지의 경우, 로그인 과정 없이 직접 요청을 보내는 방식으로는 접근이 차단됩니다.
- 봇 탐지 및 차단 시스템: Cloudflare, reCAPTCHA 등 다양한 보안 서비스가 자동화된 봇 트래픽을 식별하고 차단합니다. IP 차단, User-Agent 필터링, 비정상 행동 탐지 등이 포함됩니다.
이런 문제를 해결하기 위해 일반적으로 Selenium과 Puppeteer 등 브라우저 자동화 도구를 활용하게 되는데요, 이 또한 별도의 Headless 환경을 구성하고 유지보수 하는 데에 많은 리소스가 소모된다는 단점이 있습니다. 하지만 데이터 수집에는 소개해드린 방법만 있는 것이 아닙니다. 이번 글에서 소개해드릴 API 기반 방식을 활용하면, 구글, 네이버, 유튜브 등 주요 매체사에서 제공하는 공식 API를 통해 필요한 데이터를 안정적으로 수집할 수 있습니다. 이 방식은 크롤링과 달리 명확한 데이터 구조와 안정적인 인증 체계를 갖추고 있어, 반복적인 자동화 작업에 특히 적합합니다.
워크플로 생성 과정
본격적으로 워크플로를 생성하기 위해서는 클라우드나 로컬 환경에서 계정을 먼저 생성해야 합니다. 앞으로 소개해 드릴 n8n 환경은 self hosting된 로컬 환경입니다. 구성 과정이 다소 복잡하게 느껴지신다면, n8n 클라우드 환경을 추천드립니다. 클라우드 환경에서는 n8n 메인페이지에서 ‘Get Started’ 버튼을 클릭해 간편하게 계정을 생성하실 수 있습니다. (14일 동안 무료 사용이 가능합니다.)

계정 생성 후 로그인을 하시면 다음과 같은 메인화면에 접근하실 수 있습니다.

이미 사용 중인 계정이라 작업했던 워크플로 내역이 나타나고 있습니다. 해당 workflow 탭에서 생성된 워크플로를 확인하실 수 있습니다. 또한 Credentials 탭을 눌러 생성한 credential을 확인하실 수 있고, Executions 탭을 통해 실행된 워크플로의 내역을 확인하실 수 있습니다. 메인화면 좌측 상단 ‘+’ 확장 버튼을 클릭하시거나, 우측 상단 create workflow를 통해서 본격적으로 워크플로 생성이 가능합니다. 다음 링크에서 전반적인 사용 방법을 학습하실 수 있습니다.😊
➡️https://www.youtube.com/watch?v=4BVTkqbn_tY&list=PLlET0GsrLUL59YbxstZE71WszP3pVnZfI&index=1
데이터 수집 워크플로
이제 간략하게 데이터 수집과 관련된 n8n 워크플로를 생성해 보겠습니다. 우선 수집하고자 하는 데이터를 선정해야 하는데요, 이번 글에서는 대중적으로 많이 사용되는 매체중 하나인 ‘유튜브’를 선정했습니다. 유튜브는 구글과 연계된 공식 API를 제공하고 있고, n8n에도 관련 노드들이 제공됩니다. (https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.youtube/ )
이 유튜브 노드를 이용해서 채널 정보와 영상별 통계 데이터(조회수, 좋아요 수, 댓글 수 등)를 수집하고 가공하는 워크플로를 생성해 보겠습니다. 수집된 데이터들은 채널 성장 분석, 콘텐츠 반응 파악, 마케팅 성과 측정 등 실질적인 가치가 높은 인사이트를 제공하는 데 활용될 수 있습니다. 전체 과정은 다음과 같습니다.

- 스케줄 실행 트리거를 통해 워크플로를 시작하고,
- 지정한 채널 ID에 해당하는 채널의 기본 정보를 조회한 뒤,
- 해당 채널의 영상 목록을 가져오고,
- 각 영상의 통계 정보를 조회하여,
- 최종적으로 Google Sheets에 자동 저장합니다.
1. 스케줄 트리거 생성
워크플로 캔버스 상에서 우측 확장 버튼 → Add another trigger → On a schedule을 선택합니다.

스케줄 설정을 진행합니다. Trigger Interval을 통해 구체적인 시간을 설정하실 수 있습니다.

2. 지정한 채널 ID에 해당하는 채널의 기본 정보를 조회
다음으로 유튜브 노드를 생성합니다. 현재는 20여 개의 노드가 제공되고 있습니다. 채널 정보를 조회하기 위해 ‘Get a channel’ 노드를 선택합니다.

채널 정보를 조회하면 다음과 같이 노드의 파라미터를 설정할 수 있는 화면이 노출됩니다. 이런 애플리케이션 노드를 이용해 API를 활용하려면 Credential(OAuth2)인증이 필요합니다. 아래 Credential to connect with → create new credential를 이용해서 바로 생성하실 수 있습니다.

credential 생성을 위해서는 Google Cloud Platform 프로젝트의 client ID와 Secret이 필요한데요, 생성된 프로젝트가 없으시다면 아래 링크를 참고하셔서 프로젝트를 생성해 주시기 바랍니다.

Credential 생성이 끝나셨으면 유튜브 노드 파라미터 설정에서 분석을 원하는 채널의 Channel ID를 입력해 주시기 바랍니다. (Channel ID는 채널 메인페이지에서 채널 설명 더보기 → 채널 공유 → 채널 ID 복사를 클릭하시면 됩니다.)
3. 해당 채널의 영상 목록 조회
채널이 게시한 영상들의 정보를 조회하는 노드입니다. 게시한 시간, videoId, 섬네일, description 등의 영상 정보를 조회하실 수 있습니다. ➡️유튜브 공식문서
- Resource: Video
- Operation: Get Many

4. 각 영상 세부정보 조회
이전 노드의 output은 현재 노드의 input으로 전달할 수 있습니다. 영상 목록 조회 노드의 결과에서 videoId를 참조해서 영상별 분석 정보를 조회합니다. 이전 노드보다 더욱 구체적인 정보가 노출됩니다. 특히 워크플로 작성의 목표였던 조회수(viewCount), 좋아요수(likeCount), 댓글수(commentCount) 정보 등을 확인하실 수 있습니다.
- Resource: Video
- Operation: Get

5. 영상 세부정보 추출
노드의 output에서 필요한 정보만 추출하고 싶으시다면 Code 노드를 이용하여 워크플로 목적에 부합하는 항목들만 자바스크립트나 파이썬을 이용해 필터링 하실 수 있습니다.

6. Google Sheets에 자동 저장
이렇게 생성된 결과는 다양한 경로와 형태로 저장이 가능합니다. ‘Convert to File’ 노드를 이용해서 csv, html, xlsx등 다양한 형태로 저장하거나, 혹은 Google Sheets 같은 노드를 이용해서 클라우드 서비스에 바로 전송하실 수도 있습니다.

- 이전과 동일하게 구글 sheets용 credential을 생성합니다.
- 노드 내부에서 파라미터 설정을 진행합니다. Resource는 미리 생성된 스프레드 시트를 활용할 것이므로 Sheet Within Document를 선택합니다.
- operation 설정을 통해서 기존 시트에 행 추가 혹은, 업데이트를 선택합니다.
워크플로 실행 시 다음과 같이 클라우드에 있는 구글 시트에 유튜브 영상 분석 정보가 업데이트된 것을 확인하실 수 있습니다.

* 본 글은 YouTube API 및 n8n 도구의 사용법을 학습 목적으로 소개한 것입니다.
API로 수집된 데이터는 YouTube 약관 및 Google API Services 정책을 준수하며, 상업적 용도로 활용되지 않습니다.
법적, 윤리적 주의사항
다음으로는 공식 API를 이용한 데이터 수집 과정에서 반드시 지켜야 할 법적, 윤리적 기준 중 특히 아래와 같은 항목은 반드시 숙지하고 준수하셔야 합니다.
1. 공식 API 사용 조건 준수
유튜브를 포함한 모든 플랫폼은 공식 API 사용 시 명확한 이용 약관(terms of use)을 제시하고 있습니다. 예를 들어, 유튜브의 경우는 다음 내용을 반드시 따라야 합니다.
- 데이터 수집 시 사용자 동의가 필요한 경우 명확히 고지하고, 필요한 범위 내에서만 접근해야 합니다.
- 수집한 데이터를 제3자에게 재판매하거나 무단으로 공개해서는 안 됩니다.
- 쿼터 제한, API 사용 범위(scope), 데이터 보관 기간 등에 대한 정책을 반드시 지켜야 합니다.
- https://developers.google.com/youtube/terms/api-services-terms-of-service
2. 개인정보 보호법 준수
수집하는 데이터에 개인 식별 정보(예: 이메일, 사용자 ID 등)가 포함되어 있거나 연계될 수 있는 경우, 대한민국 개인정보 보호법을 비롯한 각국의 데이터 보호 법령을 반드시 준수해야 합니다.
- 목적 외 사용 금지
- 최소 수집 원칙
- 동의 기반 수집
- 보관 기간 설정 및 파기 등
3. 사용자에게 투명한 고지
만약 수집한 데이터를 외부에 제공하거나 분석 결과를 공공에 공유할 계획이 있다면, 정보 제공 대상자에게 명확한 고지 및 동의를 구하는 절차가 필요합니다.
이처럼 데이터 수집 워크플로를 설계할 때는 기술적 구현뿐만 아니라 법적 책임과 윤리적 기준까지 함께 고려하는 것이 중요합니다. 올바른 기준 안에서 자동화를 설계해야, 장기적으로도 유지 가능한 시스템을 운영할 수 있습니다.
추가 활용 아이디어 소개
앞서 유튜브 API를 활용한 워크플로 구축 방법을 소개해드렸는데요, 이번에는 API 활용 방법 이외에도, n8n의 공식 템플릿 라이브러리에서 제공하는 데이터 수집 및 활용에 특화된 템플릿들을 소개해드리겠습니다. 이를 통해 보다 다양한 방식으로 데이터를 수집하고 자동화할 수 있는 방법을 확인하실 수 있습니다.
1. Ultimate Scraper Workflow for n8n
Selenium과 AI를 활용하여 웹페이지의 정보를 수집하는 스크래핑 워크플로입니다. 로그인 세션이 필요한 사이트도 지원합니다.
- 활용 예시:
- 로그인이 필요한 웹사이트에서 데이터 수집
- 특정 웹페이지의 팔로워 수, 별점 등 정보 추출
- 특징:
- Selenium을 사용하여 동적 콘텐츠 처리 가능
- AI를 통한 데이터 추출 및 처리
- 세션 쿠키를 통한 로그인 지원
2. Scrape and store data from multiple website pages
여러 웹페이지에서 데이터를 수집하고 MongoDB에 저장하는 워크플로입니다. 페이지네이션과 캐시 시스템을 활용하여 효율적인 데이터 수집이 가능합니다.
- 활용 예시:
- 국가별 SWIFT 코드 정보 수집
- 웹사이트의 여러 페이지에서 반복적인 데이터 추출
- 특징:
- 페이지네이션 처리로 다수의 페이지에서 데이터 수집
- MongoDB에 데이터 저장
- 캐시 시스템을 통한 중복 요청 방지
3. Scrape and summarize webpages with AI
웹페이지에서 데이터를 수집하고, GPT-4o를 활용하여 요약하는 워크플로입니다. HTML 파싱과 AI 기반 요약을 결합하여 효율적인 정보 추출이 가능합니다.
- 활용 예시: 뉴스 기사 요약, 블로그 콘텐츠 요약, 웹페이지의 주요 정보 추출
- 특징: HTML 파싱을 통한 링크 및 콘텐츠 추출, GPT-4o를 활용한 AI 기반 요약
n8n은 단순한 자동화 도구를 넘어, 복잡한 데이터 수집과 가공, 저장, 분석까지 통합적으로 설계할 수 있는 강력한 플랫폼입니다. 이번 글에서는 유튜브 API를 활용한 실제 워크플로 구성 예시를 통해, API 기반의 자동화가 얼마나 유연하고 확장 가능한지 보여드렸습니다. 또한 공식 템플릿 라이브러리를 적극적으로 활용하면, 다양한 자동화 시나리오를 빠르게 실현할 수 있고, 필요에 따라 자신만의 워크플로로 확장할 수도 있습니다. 앞으로는 유튜브 외에도 다양한 매체 및 플랫폼의 노드들을 조합하여 더 복잡한 데이터 수집 및 분석 시스템을 구축해 보는 것도 추천드립니다.
참고
- https://www.youtube.com/watch?v=4BVTkqbn_tY&list=PLlET0GsrLUL59YbxstZE71WszP3pVnZfI&index=1
- https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.youtube/
- https://docs.n8n.io/integrations/builtin/credentials/google/oauth-generic/
- https://developers.google.com/youtube/v3/docs/videos?hl=ko
- https://developers.google.com/youtube/terms/api-services-terms-of-service
- https://n8n.io/workflows/
☎️ 02-6919-5516
최신 마케팅/고객 데이터 활용 사례를 받아보실 수 있습니다.