Claude Code로 "거래량 TOP3 증시날씨" 숏폼 영상 자동화 파이프라인 만들기

소개

지난주 만든 "오늘의 증시 날씨" 영상 생성기를 한 단계 업그레이드했습니다. 기존에는 고정된 샘플 데이터로 영상을 만들었는데, 이번에는 실시간 거래량 TOP3 종목을 크롤링하고, 뉴스를 수집하고, Claude API로 감성 분석까지 하는 전자동 파이프라인을 완성했습니다.

명령어 한 줄이면 끝입니다:

python generate_top3_video.py

쪼개기

Step 1. 거래량 TOP3 크롤링 (네이버 금융)

네이버 금융 거래량 상위 페이지를 BeautifulSoup으로 스크래핑합니다. ETF(KODEX, TIGER 등)는 자동 필터링해서 개별 종목만 추출합니다.

처음에는 ETF가 1~2위를 차지해서 의미 없는 결과가 나왔는데, ETF 키워드 필터를 추가해서 해결했습니다.

Step 2. 종목별 뉴스 수집 (Google News RSS)

처음에는 네이버 뉴스 검색 페이지를 스크래핑하려 했는데, HTML 구조가 JavaScript 렌더링 기반으로 바뀌어서 requests로는 뉴스 제목을 파싱할 수 없었습니다(0건 수집). CSS 선택자를 여러 개 시도해봤지만 전부 실패.

결국 Google News RSS로 전환하니 종목당 5건씩 안정적으로 수집되었습니다.
Step 3+4. Claude API로 감성 분석 + 대본 생성

이번 주 핵심 업그레이드입니다. 기존 키워드 매칭 방식과 Claude API 방식의 차이가 확연했습니다.
VERIFY 완료 — Claude API 연동 성공! 키워드 기반 vs Claude API 비교

항목

키워드 기반 (Before)

Claude API (After)

한국ANKOR유전

☀️ 맑음 (+1.00)

🌧️ 비 (-0.60) — 상장폐지 우려

분석 사유

뉴스 첫 제목 그대로

"알루미늄 가격 상승", "상장폐지 우려" 등 핵심 요약

나레이션

"긍정적 전망! 상승 모멘텀이 강합니다"

"상장폐지 우려로 비 구름이 끼어있는 상황입니다"

비용

무료

$0.018 (약 25원)

핵심 차이: 한국ANKOR유전은 주가가 +4.87% 상승했지만, Claude가 "상장폐지 앞두고 주가 두 배로 껑충" 뉴스를 읽고 문맥상 부정적이라고 정확히 판단했습니다. 키워드 방식으로는 불가능한 분석입니다.

Step 5. 영상 렌더링 (Gemini + gTTS + FFmpeg)

기존 파이프라인 그대로 활용했습니다. Gemini로 씬별 AI 앵커 이미지 생성 → gTTS로 한국어 나레이션 → Pillow로 자막 오버레이 → FFmpeg로 MP4 합성.

TTS 속도가 씬 길이보다 긴 문제는 FFmpeg atempo 필터로 자동 조절합니다.

최종 결과: 5씬, 20초, 2.23MB MP4 파일 자동 생성 완료.소개

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요