📌 간단 요약
유튜브 인기 영상 히스토리(과거 데이터)를 내 PC에 저장해서 날짜별로 보기!
Node.js 설치 + 유튜브 API 키 발급(무료)만 하면 끝!
유튜브 인기 순위와 조회수, 댓글수 데이터 관리하기
요새 뜨는 유튜브 핫한 영상, 조회수가 많은 영상, 댓글이 많은 영상 찾기 힘드셨죠?
그동안 로컬 PC에서 급등 영상을 확인하는 HTML 파일이 여러 번 공개되었지만, 기존 방식은 지금 실시간 데이터만 확인 가능하다는 문제가 있었습니다.
어제 혹은 저번 주에 인기 많았던 과거 데이터는 볼 수가 없었죠.
웹 서버와 DB 서버를 따로 구축하지 않고도 내 로컬 PC에서 파일 한두 개만 관리해 과거 데이터를 손쉽게 모으고 대시보드로 확인하는 방법을 소개합니다.
추출된 데이터는 USB나 네이버 MYBOX에 저장해두면 다른 PC나 노트북에서도 똑같이 대시보드를 열어볼 수 있습니다.
아래 스샷은 제 피씨에 설치되어 있는 대시보드이며,
이곳에 웹 버전을 구현해두었습니다.
폴더 및 파일 구조
파일 개수와 내용은 아주 간단합니다. 특정 폴더(예: youtube.trending.v1.local.pub)를 생성한 후 아래 파일들을 배치합니다.
youtube.trending.v1.local.pub/
├── config.json <- API 키 및 국가/키워드 설정 파일
├── fetcher.js <- 30분마다 데이터를 가져와 저장하는 스크립트
├── index.html <- 키워드 사전 정의 및 데이터를 대시보드로 보여주는 로컬 웹페이지
├── start.bat <- js 스크립트 실행을 위한 배치 파일
└── data/
├── 2026-06-26.json
├── 2026-06-27.json
├── 2026-06-28.json <- 날짜별 데이터 자동 저장
└── available-dates.js <- 캘린더 구동을 위한 날짜 목록 저장 파일
1. 유튜브 데이터 API 키 발급받기
config.json 설정 예시
{
"YOUTUBE_API_KEY": "자신의_Youtube_Data_Api_v3_API_키_넣기",
"SUPPORTED_REGIONS": ["kr", "us", "jp"],
"LOCALE_DATA": {
"kr": {
"CATEGORIES": {
"0": "전체", "1": "영화/애니", "2": "자동차", "10": "음악", "15": "동물",
"17": "스포츠", "19": "여행", "20": "게임", "22": "사람/브이로그",
"23": "코미디", "24": "엔터테인먼트", "25": "뉴스/정치", "26": "패션/뷰티",
"27": "교육", "28": "과학/기술"
},
"KEYWORDS": ["뉴스", "먹방", "요리", "게임", "음악", "드라마", "영화", "여행", "운동", "챌린지", "리뷰", "브이로그", "스포츠", "경제", "주식", "육아", "반려동물", "패션", "뷰티", "부동산"]
},
"us": {
"CATEGORIES": {
"0": "All", "1": "Film & Animation", "2": "Autos & Vehicles", "10": "Music", "15": "Pets & Animals",
"17": "Sports", "19": "Travel & Events", "20": "Gaming", "22": "People & Blogs",
"23": "Comedy", "24": "Entertainment", "25": "News & Politics", "26": "Howto & Style",
"27": "Education", "28": "Science & Technology"
},
"KEYWORDS": ["News", "Mukbang", "Cooking", "Gaming", "Music", "Drama", "Movie", "Travel", "Workout", "Challenge", "Review", "Vlog", "Sports", "Economy", "Stocks", "Parenting", "Pets", "Fashion", "Beauty", "Real Estate"]
},
"jp": {
"CATEGORIES": {
"0": "すべて", "1": "映画・アニメ", "2": "自動車", "10": "音楽", "15": "ペット・動物",
"17": "スポーツ", "19": "旅行・イベント", "20": "ゲーム", "22": "ブログ",
"23": "コメディ", "24": "エンターテインメント", "25": "ニュース・政治", "26": "ハウツー・スタイル",
"27": "教育", "28": "科学・技術"
},
"KEYWORDS": ["ニュース", "モッパン", "料理", "ゲーム", "音楽", "ドラマ", "映画", "旅行", "筋トレ", "チャレンジ", "レビュー", "Vlog", "スポーツ", "経済", "株", "育児", "ペット", "ファッション", "ビューティー", "不動産"]
}
}
}
2. Node.js 설치하기
데이터 추출 및 주기적 실행 스케줄러를 위해 Node.js를 설치합니다.
3. fetcher.js 다운로드, start.bat 파일 실행
동일한 경로에
04.fetcher.js 파일을 다운받아 저장하고,
아래 한 줄의 명령어를 복사하여 04.start.bat 파일을 만듭니다.
node 04.fetcher.js
04.start.bat 파일은 다운로드 받아도 됩니다.
04.start.bat 파일을 실행하면 바로 최초 수집이 시작되며, 기본 설정상 30분마다 자동으로 데이터를 갱신합니다.
※ 한국 시각 기준 오전 09시경에 해당 일자의 신규 데이터가 쌓이기 시작합니다.
4. 사용자 지정 맞춤 설정
해외 키워드 번역 사전 추가 (index.html)
먼저 index.html 파일을 다운받아주세요.
영어나 일어 영상의 키워드 단어를 한글 의미와 함께 보고 싶다면 index.html 내 TRANSLATION_DICTIONARY 객체에 단어를 추가해 주세요.
// 해외 인기 단어용 한글 번역 사전 데이터베이스
const TRANSLATION_DICTIONARY = {
// 영어 (US)
"shorts": "쇼츠", "official": "공식", "music": "음악", "video": "영상", "trailer": "예고편",
"teaser": "티저", "live": "라이브", "highlights": "하이라이트", "review": "리뷰", "vs": "대결",
"full": "풀버전", "episode": "에피소드", "gameplay": "게임플레이", "news": "뉴스", "vlog": "브이로그",
// 일본어 (JP)
"公式": "공식", "アニメ": "애니", "動画": "영상", "配信": "방송/스트리밍", "新曲": "신곡",
"漫画": "만화", "MV": "뮤비", "検証": "검증/실험", "まとめ": "모음집", "対決": "대결",
"紹介": "소개", "ニュース": "뉴스", "ライブ": "라이브", "初": "최초"
};
조회수/댓글 강조 기준 수정 (index.html)
조회수 100만 이상, 댓글수 1,000개 이상 시 붉은색 강조 스타일을 적용합니다.
취향에 맞게 변경하셔도 좋습니다 ^^
const viewClass = viewsRaw >= 1000000 ? 'highlight-red' : '';
const commentClass = commentsRaw >= 1000 ? 'highlight-red' : '';
수집 주기 변경 (fetcher.js)
30분 주기를 2시간(120분)으로 변경하고 싶다면 fetcher.js의 마지막 라인을 수정합니다.
// 2시간(120분) 마다 실행 자동화
fetchTrendingData();
setInterval(fetchTrendingData, 120 * 60 * 1000);
유튜브 인기 영상 히스토리 관리를 통해 영상 제작 및 트렌드 분석에 많은 도움이 되길 바랍니다!