# 🚀 AI 스터디 - Claude Code로 YouTube 자동화 만들기!
사이드 프로젝트 "한입에 서울" , 나중에 어떻게 자동화로 맛집 유튜브 콘텐츠를 수집해서 활용한 것을 한번 연구해보았습니다.
Claude Code(AI)와 함께 YouTube 맛집 영상을 자동으로 수집하고, 이메일로 받아보는 프로그램을 만들어봅니다!
## 📚 목차
1. [프로젝트 소개](#프로젝트-소개)
2. [Claude Code란?](#claude-code란)
3. [프로젝트 구조 이해하기](#프로젝트-구조-이해하기)
4. [자동화 실행하기](#자동화-실행하기)
5. [GitHub Actions로 24시간 자동화](#github-actions로-24시간-자동화)
6. [마무리](#마무리)
---
## 🎬 프로젝트 소개
### 이 프로그램이 하는 일
1. YouTube 검색: "서울 맛집", "맛집 추천" 등의 키워드로 영상 검색
2. 데이터 수집: 채널명, 구독자 수, 영상 제목 등을 수집
3. Google Sheets 저장: 수집한 데이터를 스프레드시트에 자동 저장
4. 이메일 알림: 매일 저녁 수집한 내용을 이메일로 발송
### 실행 시간
- 오전 9시: 첫 번째 데이터 수집
- 오후 6시: 두 번째 데이터 수집
- 오후 10시 30분: 하루 요약 이메일 발송
---
## 💡 Claude Code란?
Claude Code는 Anthropic이 만든 AI 코딩 도우미입니다.
- 터미널에서 claude 명령어로 실행
- 자연어로 대화하며 코딩 작업 수행
- 파일 읽기/쓰기, 코드 실행 등 가능
### 설치 방법
```bash
# Windows
pip install claude-cli
# 실행
claude
```
---
## 📁 프로젝트 구조 이해하기
```
YouTube 자동화 프로젝트/
│
├── 📄 main.py # 메인 실행 파일
├── 📄 youtube_scraper.py # YouTube 데이터 수집
├── 📄 sheets_manager.py # Google Sheets 연동
├── 📄 email_sender.py # 이메일 발송
├── 📄 config.json # 설정 파일 (API 키 등)
├── 📄 requirements.txt # 필요한 패키지 목록
└── 📁 .github/workflows/ # GitHub Actions 설정
```
### 각 파일의 역할
- main.py: 전체 프로그램을 관리하는 지휘자 역할
- youtube_scraper.py: YouTube에서 영상 정보를 가져오는 역할
- sheets_manager.py: 수집한 데이터를 Google Sheets에 저장
- email_sender.py: 수집 결과를 이메일로 보내는 역할
---
클로드 코드에
사용한 프롬프트:
한국 유튜브 주제: 맛집 추천, 맛집 탐방, 서울 맛집 관련된
유튜브 채널 이름, 영상링크, 영상 이름, 주제, 팔로우수 정보 자동화
서칭한 후 구글 시트로 정보 정리, 매일 2회, 정리한 내용은 매일 저녁
10시30 결과 제 메일로 발송
---
## 🏃 자동화 실행하기
### 1단계: 필요한 것들 준비하기
. 서비스 계정 만들기:
- 사용자 인증 정보 > 서비스 계정 > 서비스 계정 만들기
- 역할: 편집자
#### 필요한 API 키
1. YouTube API 키
- [Google Cloud Console](https://console.cloud.google.com/) 접속
- 새 프로젝트 생성 → YouTube Data API v3 활성화
- 인증 정보 → API 키 생성
2. Google Sheets API 설정 ( 이 과정 좀 쉽지 않았어요. ㅎㅎ )
https://console.cloud.google.com/apis/dashboard
- Google Sheets 새 문서 생성
- URL에서 스프레드시트 ID 복사
- 서비스 계정 생성 및 공유
3. JSON 키 파일 다운로드
4. Google Sheets 공유:
- 새 스프레드시트 생성
- 서비스 계정 이메일에 편집 권한 부여
- 스프레드시트 ID를 config.json에 추가
3. Gmail 앱 비밀번호
Google 계정 설정 > 보안
2단계 인증 사용 설정 (필수)
앱 비밀번호 생성:
- 보안 > 앱 비밀번호
- 앱 선택: 메일
- 기기 선택: Windows 컴퓨터
4. 생성된 16자리 비밀번호를 config.json에 추가
### 2단계: 프로그램 설치하기
```bash
# 1. 필요한 패키지 설치
pip install -r requirements.txt
# 2. 설정 파일 수정
# config.json 파일을 열어서 본인의 API 키 입력
```
### 3단계: 테스트 실행
```bash
# 테스트로 한 번 실행해보기
python main.py --test
```
성공하면 다음과 같이 동작합니다:
1. YouTube에서 맛집 영상 15개 검색
2. Google Sheets에 데이터 저장
3. 설정한 이메일로 요약 발송
---
## 🌍 GitHub Actions로 24시간 자동화
### 왜 GitHub Actions를 사용하나요?
- 무료: 공개 저장소는 무제한 무료
- 24시간 실행: 컴퓨터를 꺼도 계속 실행
- 자동화: 정해진 시간에 자동 실행
### 설정 방법 (초보자용 단계별 가이드)
#### 1️⃣ GitHub 계정 만들기
1. [GitHub.com](https://github.com) 접속
2. Sign up 클릭하여 계정 생성
#### 2️⃣ 새 저장소(Repository) 만들기
1. GitHub 로그인 후 우측 상단 '+' 클릭
2. 'New repository' 선택
3. Repository name: youtube-automation (원하는 이름)
4. Public 선택 (무료로 사용하려면 필수!)
5. 'Create repository' 클릭
#### 3️⃣ 코드 업로드하기
```bash
# Git 초기화 및 파일 추가
git init
git add .
git commit -m "YouTube 자동화 프로그램"
# GitHub에 연결 (YOUR_USERNAME을 본인 GitHub 아이디로 변경)
git remote add origin https://github.com/YOUR_USERNAME/youtube-automation.git
git push -u origin main
```
#### 4️⃣ GitHub Secrets 설정하기
GitHub Secrets는 비밀번호나 API 키를 안전하게 보관하는 곳입니다.
1. GitHub 저장소 페이지에서 Settings 클릭
2. 왼쪽 메뉴에서 Secrets and variables → Actions 클릭
3. New repository secret 버튼 클릭
4. 다음 6개의 Secret을 하나씩 추가:
| Secret 이름 | 설명 | 예시 |
|------------|------|------|
| YOUTUBE_API_KEY | YouTube API 키 | AIzaSy... |
| SPREADSHEET_ID | Google Sheets ID | 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms |
| SENDER_EMAIL | 발신 Gmail | [email protected] |
| RECIPIENT_EMAIL | 수신 이메일 | [email protected] |
| GMAIL_APP_PASSWORD | Gmail 앱 비밀번호 | abcd efgh ijkl mnop |
| GOOGLE_SHEETS_CREDS | Sheets 인증 정보* | (아래 참조) |
*GOOGLE_SHEETS_CREDS 만들기:
```powershell
# PowerShell에서 실행 (파일 경로는 본인 것으로 변경)
[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes((Get-Content -Path "google_sheets_credentials.json" -Raw)))
```
#### 5️⃣ 실행 확인하기
1. GitHub 저장소에서 Actions 탭 클릭
2. 'YouTube Automation' workflow 확인
3. 오른쪽 Run workflow 버튼으로 수동 실행 가능
### 자동 실행 시간
- 매일 오전 9시
- 매일 오후 6시
- 매일 오후 10시 30분 (요약 이메일)
---
## 🎉 마무리
### 오늘 배운 것
1. ✅ Claude Code를 사용해 복잡한 자동화 프로그램 만들기
2. ✅ YouTube API로 데이터 수집하기
3. ✅ Google Sheets에 자동으로 데이터 저장하기
4. ✅ 이메일로 알림 받기
5. ✅ GitHub Actions로 24시간 자동화 설정하기
### 응용 아이디어
- 다른 키워드로 검색 (게임, 요리, 여행 등)
- 수집 시간 변경
- 다른 정보 추가 수집 (조회수, 좋아요 수 등)
### 질문이 있다면?
- Claude Code에게 직접 물어보기: claude "이 코드가 뭘 하는 거야?"
- 에러 메시지 검색하기
- AI 스터디 단톡방에 질문하기
---
## 📌 자주 묻는 질문 (FAQ)
Q: API 키는 어디서 받나요?
A: YouTube API는 Google Cloud Console에서, Gmail 앱 비밀번호는 Google 계정 설정에서 받을 수 있습니다.
Q: 비용이 드나요?
A: GitHub Actions 공개 저장소는 무료입니다. API도 일일 무료 한도 내에서는 무료입니다.
Q: 에러가 나요!
A: 먼저 requirements.txt의 패키지를 모두 설치했는지, API 키가 올바른지 확인해보세요.
Q: 수집 시간을 바꾸고 싶어요
A: .github/workflows/youtube-automation.yml 파일의 cron 부분을 수정하면 됩니다.
---
실행한 리포트
컴퓨터 켜지 않아도 아래 걸 설정 잘하면 할 수 있다네요!
그래서 다음 개인 스터디는 아래 방식을 적용 해서 진행할 수 있도록 하겠습니다!!
GitHub Actions 자동화 설정 가이드 ( 기대합니당~)
😀