스텔라이브 라이브 대시보드

✦ ✧ ✦ ✧ ✦
⭐ PROJECT REPORT

스텔라 라이브 방송 현황
자동 조회 대시보드

Stella Live Tracker — 네이버 카페 크롤링 + Claude AI 분석 + Streamlit UI

개발 기간 2026.04.01 ~ 04.03
개발자 김태현 (bird8696)
분류 개인 프로젝트
1

프로젝트 개요

📌 배경 및 목적

스텔라라이브(Stella Live) VTuber 멤버 10명의 오늘 방송/휴방 여부를 매일 네이버 카페에서 일일이 확인하는 번거로움을 해소하기 위해 제작했습니다. 버튼 하나로 전체 멤버의 공지글을 수집하고, Claude AI가 방송 여부와 사유를 자동으로 분석해 대시보드 형태로 보여주는 서비스입니다.

🎯 핵심 목표
  • 네이버 카페 비공개 게시판 게시글 자동 수집
  • Claude AI를 활용한 방송/휴방 여부 및 사유 자동 분석
  • 멤버별 테마 컬러 적용 카드 UI 대시보드 구현
  • Streamlit Cloud 배포로 어디서나 접근 가능
2

기술 스택

🐍 Python 3.11 🎈 Streamlit 🤖 Claude API (Haiku) 🟢 Naver Cafe API 🍜 BeautifulSoup4 🐙 GitHub ☁️ Streamlit Cloud 🔒 python-dotenv
3

시스템 구조

🔄 데이터 흐름
👤 사용자 클릭
📡 Naver Cafe API
🤖 Claude AI 분석
📊 대시보드 표시
📁 프로젝트 구조
stella-live-tracker/
├── .env # 네이버 쿠키 + Anthropic API 키
├── .gitignore # .env 제외
├── requirements.txt # 패키지 목록
├── config.py # 카페 ID, 멤버 게시판 ID, 쿠키 설정
├── crawler.py # 네이버 카페 게시글 크롤링
├── analyzer.py # Claude AI 방송/휴방 분석
├── app.py # Streamlit 메인 대시보드
└── style.css # 우주/별 테마 커스텀 CSS
4

주요 기능

🕵️ 크롤링 (crawler.py)
  • 네이버 카페 비공개 게시판을 쿠키 인증 방식으로 접근
  • 공식 Naver Cafe API 엔드포인트를 역분석해 JSON으로 게시글 수집
  • 게시글 ID로 본문 전체 텍스트 추출 (다중 엔드포인트 폴백)
  • 밀리초 타임스탬프 → KST 날짜 변환
🤖 AI 분석 (analyzer.py)
  • 오늘 날짜 패턴을 코드 레벨에서 사전 감지 (Windows 호환)
  • 전날 작성된 예고글도 날짜 맥락을 AI에 전달해 정확 판단
  • Claude Haiku로 빠르고 저렴하게 live / rest / unknown 분류
  • 방송 시간, 휴방 사유 자동 추출
🎨 대시보드 UI (app.py + style.css)
  • 멤버별 공식 테마 컬러 그라디언트 카드
  • 우주/별 반짝임 배경 애니메이션 (CSS only)
  • 고정 높이 카드 그리드 (텍스트 길이 무관 균일 크기)
  • 상세보기 클릭 시 카페 본문 내용 실시간 조회 모달
  • 방송 예정 / 휴방 / 공지 없음 요약 지표
5

문제 해결 과정

문제 원인 해결
네이버 카페 HTML 파싱 불가 React 기반 SPA라 SSR HTML에 데이터 없음 Network 탭으로 내부 JSON API 엔드포인트 역분석
날짜 비교 오류 전날 작성한 다음날 방송 예고글 오판 작성 날짜 + 오늘 날짜를 AI 프롬프트에 함께 전달
Windows 날짜 포맷 오류 %-m 등 Linux 전용 strftime 사용 str(today.month) 방식으로 Windows 호환 처리
카드 크기 불균일 텍스트 길이에 따라 카드 높이가 달라짐 CSS fixed height + flexbox + line-clamp 적용
HTML이 텍스트로 출력 f-string 들여쓰기를 Streamlit이 코드블록으로 인식 문자열 연결 방식으로 변경 (들여쓰기 제거)
본문 내용 미출력 API 엔드포인트 버전 불일치 v2.1 → v2 → HTML 파싱 순서로 폴백 처리
6

결과

10
멤버 지원
6
개발 파일
~5s
전체 조회 시간
100%
자동화율
✅ 달성 결과
  • 버튼 하나로 10명 전체 방송 현황 자동 조회
  • AI가 공지글 분석해 방송 시간 및 휴방 사유 자동 추출
  • 멤버별 공식 테마 컬러 적용 대시보드 완성
  • Streamlit Cloud 배포로 외부 접근 가능한 서비스 완성
  • GitHub 소스코드 공개
7

회고

✅ 잘한 점
  • Network 탭으로 내부 API 직접 분석
  • CSS 파일 분리로 코드 관리 개선
  • .env + Secrets 이중 지원
  • 멤버 테마 컬러 세밀하게 적용
⚠️ 어려웠던 점
  • Streamlit HTML 렌더링 제약
  • 네이버 API 엔드포인트 찾기
  • 날짜 판단 로직 엣지케이스
  • 쿠키 인증 방식의 한계
📚 배운 점
  • 브라우저 Network 탭 API 역분석
  • 프롬프트 엔지니어링 중요성
  • Streamlit session_state 활용
  • CSS padding-box / border-box
🚀 개선 방향
  • 치지직 방송 링크 자동 연동
  • 쿠키 자동 갱신 기능
  • 멤버 프로필 이미지 추가
  • Discord 알림 봇 연동