유튜브 댓글을 수집하는 방법은 크게 공식 API를 활용하는 방법과 크롤링(스크래핑) 도구를 쓰는 방법**으로 나눌 수 있습니다. 아래에서 각 방식을 비교·검토해 드릴게요.
1. YouTube Data API v3 이용
1-1. 댓글 스레드 조회 (commentThreads.list)
-
기능: 동영상에 달린 최상위 댓글(top-level comment)과 첫 레벨의 **답글(몇 개)**을 한 번에 가져옴
-
요청 예:
-
한계 및 운영:
-
호출당 1 unit 소모 Google for Developers
-
maxResults최대 100개까지 반환 -
답글 전체가 필요하면,
comments.list(parentId=THREAD_ID)로 추가 호출
-
1-2. 인기 동영상 필터링 (videos.list)
-
댓글이 많은 동영상을 찾기 위해선
videos.list(part=statistics)호출로-
viewCount,commentCount,likeCount등 통계를 받아온 뒤 -
commentCount 기준 상위 N개를 우선 순위로 처리
-
1-3. 장·단점
| 방식 | 장점 | 단점 |
|---|---|---|
| 공식 API | • 안정적(TOS 준수)·문서화 • 대량 호출 가능(Quota 내) • 메타데이터와 댓글 동시 취득 |
• Quota 제한(기본 10,000 units/일) • 일부 숨겨진 댓글 미수집 가능 |
2. 크롤링·스크래핑 도구 활용
2-1. youtube-comment-downloader (Python)
-
설치:
pip install youtube-comment-downloaderPyPI -
특징:
-
API 키 불필요, 웹 UI 네트워크 호출을 흉내 내서 댓글 전체 추출
-
--limit,--sort옵션으로 개수·정렬 조정 가능
-
2-2. Apify YouTube Comments Scraper
-
서비스: Apify 플랫폼上에서 실행되는 “YouTube Comments Scraper” 액터 Apify
-
특징:
-
동영상 URL 입력 후 JSON/CSV/Excel 등으로 다운로드
-
댓글·작성자·타임스탬프·좋아요 수·답글 개수 등 풍부한 메타 수집
-
유료(예: $1/1,000 comments)
-
2-3. 장·단점
| 방식 | 장점 | 단점 |
|---|---|---|
| 크롤링 라이브러리 | • Quota 걱정 無 • 숨겨진 댓글까지 수집 가능 |
• YouTube TOS 위반 소지
• IP 차단·CAPTCHA 위험 |
| Apify 등 SaaS | • 손쉬운 UI/자동화·스케줄링 지원 • 페일오버·재시도 내장 |
• 비용 발생 • 플랫폼 종속성 |
3. 추천 방식
-
TOS 준수·안정성이 중요하다면 → YouTube Data API 활용
-
Quota 초과, 숨겨진 댓글까지 모두 수집해야 한다면 →
-
youtube-comment-downloader같은 오픈소스 스크립트 -
또는 Apify 같은 상용 스크래핑 서비스
-
▶ 예시 워크플로우 (API 기준)
-
videos.list→commentCount상위 N개 영상 ID 리스트 수집 -
commentThreads.list(videoId=…, maxResults=100)→ 최상위 댓글 수집 -
comments.list(parentId=…)→ 상세 답글 수집 -
결과를 데이터베이스에 저장 후, 원하는 인사이트 분석
필요하시다면,
-
Python/Node.js 코드 샘플
-
Quota 최적화 방안
-
스크레핑 스크립트 구현 예시
등을 추가로 제공해 드릴 수 있으니 말씀해 주세요!