유튜브 10,000유닛이면, 유튜브정보 몇개정돌르 크롤링할수 있나? 필드설정은 API가 제공하는 모든 항목기준, 혹시 절반으로 할경우에는 크롤링갯수가 늘어나나?




YouTube Data API v3의 쿼터(기본 10,000 units/일)를 “얼마나 많은 동영상 정보를 가져올 수 있느냐”로 환산해 보면, 핵심은 어떤 메서드를 쓰느냐한 번 호출당 최대 몇 개 항목을 리턴하느냐 입니다.


1. 주요 메서드별 단위 비용

메서드 단위(quotaCost) 한 호출당 최대 리턴 크기
search.list 100 units maxResults=50
videos.list 1 unit maxResults=50
(그 외 대부분의 조회) 1 unit 다양
  • search.list: 특정 키워드로 영상 ID를 찾아낼 때 쓰며, 호출당 100 units 소모, 최대 50개 ID 반환

  • videos.list: 영상 ID 목록을 주고 상세 메타(통계·스니펫·태그 등)를 가져올 때 쓰며, 호출당 1 unit 소모, 최대 50개 객체 반환


2. 시나리오별 일일 최대 크롤링 개수

  1. 이미 ID 리스트가 확보된 상태에서 “영상 상세정보”만 조회

    • 사용할 메서드: videos.list(part=...)

    • 비용: 1 unit / 호출, 반환 50개 → 비디오당 0.02 unit

    • 일일 호출 가능 횟수: 10,000 calls → 10,000×50 = 500,000개 비디오 메타

  2. “키워드 → ID 검색 → 상세정보 조회” 풀 플로우

    • (1) ID 검색: 10,000 units ÷ 100 unit/호출 = 100 calls → 100×50 = 5,000개 ID 확보

    • (2) 상세정보 조회: 5,000 IDs ÷ 50/호출 = 100 calls → 100×1 unit = 100 units

    • 합계 소모: 100×100 + 100×1 = 10,100 units → 약간 오버

    • 그러므로 풀 플로우로는 대략 5,000개 비디오 정보를 처리 가능


3. part 필드(반환 항목)를 절반으로 줄인다고 크롤링 건수가 늘어날까?

  • 결론: 늘어나지 않습니다.

  • 이유: YouTube API의 quota 비용은 메서드 단위(search.list=100, videos.list=1)로 책정되며, part=snippet,statistics,contentDetails… 같이 가져오는 필드를 늘리거나 줄여도 unit 비용이 바뀌지 않습니다.

  • 단, 네트워크 대역폭과 응답 속도 차이는 있을 수 있으나, quota 상 허용 호출 횟수―즉 크롤링 개수―는 동일합니다.


4. 더 많이 크롤링하려면?

  • 쿼터 상향 요청: Google Cloud Console → IAM & Admin → Quotas → YouTube Data API → quota limit 증가 청구

  • 캐싱·중복 배제: 이미 가져온 건은 재조회하지 않도록 로컬/Redis 캐싱

  • 멀티 프로젝트 분산 호출: 서비스 계정별(프로젝트별)로 quota를 분산 사용


요약

  • videos.list만으로 순수 상세 메타만 땡겨올 땐: 하루 최대 50만 개

  • 검색→상세정보 풀 파이프라인으로 땡겨올 땐: 하루 최대 5천 개

  • part 항목 수 절반으로 줄인다 해도 quota 소비량엔 변화 없음

필요하신 더 구체적 예제나, Python·Node.js 샘플 코드도 추가로 드릴 수 있습니다!

댓글 남기기