1. 프로젝트 개요/배경
지피터스 사례글 DB 자동화를 하려다 보니 Make에 좀 더 친숙해져야겠다 싶어서,
공부 차원에서 Case가 많은 유튜브 요약(구독하는 채널의 신규 영상을 매일 아침 텔레그램 전달) 자동화를 시도했습니다.
추후 사례게시글에 활용을 위해 Youtube API 활용보다는 RSS Feed를 기반으로 Notion을 데이터 저장소로 활용하고,Make에서 자동화를 설정하는 방식으로 진행했습니다.
[활용한 AI 도구]
ChatGPT & Google AI Studio: Make 시나리오 설정 및 문제 해결을 위한 자문 역할
Apify: 유튜브 데이터 스크래핑
Make (구 Integromat): 전체 자동화 시나리오 설정
Notion: DB로 활용 - (DB1) 구독 채널 List, (DB2) 신규 영상/요약문 List
2. 진행 방법 및 해결 과정
(1) 주요 도전 과제 및 해결 과정
1.1 Notion에서 유튜브 채널 목록(DB1)을 RSS Feed와 연동하기
문제: Notion에서 저장된 구독 채널 데이터(채널ID)를 가져올 때, Notion 모듈의 Search 기능을 쓰면 데이터가 Collection 타입으로 반환되는데, RSS Feed는 Array 타입만 인식을 함.
해결: 이를 Array Aggregator를 활용하여 Notion 데이터를 Array로 변환한 후, RSS Feed에서 '채널ID'만 추출하여 채널별 업데이트를 확인.
** Group by 까지는 불필요한 듯 하나, 이후 Key로 별도 추출이 되길래 편의를 위해 사용해봤습니다.
** 뒤에서 언급하겠지만, Search로는 Search Object를 Database Items로 설정해도
Database ID까지만 조회되고 Database 'Item' ID는 조회가 안됩니다.
1.2 Iterator를 활용한 반복 처리
문제: Make에서 Notion의 채널 리스트를 불러와 개별 채널을 순차적으로 처리하는 과정에서 시행착오 발생.
해결: Make의 Iterator 모듈을 활용하여 반복 실행 가능하도록 구성.
AI마다 설명에 일부 차이가 있어, GPT 및 구글 AI Studio를 통해 교차 검증 및 에러코드 검색해가며 해결.
1.3 Apify 스크립트 실행 중 타임아웃 문제
문제: Apify에서 유튜브 영상 정보를 스크래핑하는 과정에서 슬립 타임을 걸었더니, 무료 플랜의 전체 실행 타임아웃(5분? 테스트 시에는 10분?) 제한에 걸려 실행이 중단됨.
해결: Sleep을 줄이면 요약문 자체가 Skip되는 경우가 많아서 결국 Apify 유료 플랜을 구독