Google Trends Bot에 YouTube 트렌드 수집 기능을 추가
요즘 유튜브 숏츠나 콘텐츠 아이디어를 기획하면서
"지금 가장 많이 보고 있는 영상은 뭘까?"라는 궁금증이 자주 생겼다.
뉴스보다 빠르게, 알고리즘보다 정확하게
'진짜 트렌드'를 실시간으로 받아볼 수 있는 시스템이 있다면 어떨까?
그래서 기존에 운영하던 Google 트렌드 텔레그램 봇에
YouTube 트렌드 수집 기능을 추가했다.
이번 글에서는 YouTube 인기 동영상 데이터를 어떻게 수집하고, 가공하고, 전달하는지
그 과정을 상세히 기록해보려 한다.
YouTube Data API v3
google-api-python-client 라이브러리
Python 3.9
Telegram Bot API
→ API 키 기반으로 클라이언트 인스턴스를 초기화한다.
지역코드에 따라 국가별 트렌드를 가져올 수 있도록 설정했다.
→ chart="mostPopular"로 설정하면, 해당 국가에서 가장 인기 있는 영상이 순위별로 제공된다.
데이터량은 maxResults로 제한해 API 할당량을 효율적으로 사용했다.
→ 제목, 채널명, 조회수, 링크 정보를 구조화된 리스트로 저장했다.
링크는 긴 URL 대신 youtu.be 형식을 사용해 가독성을 높였다.
→ 다양한 조회수 범위를 일관된 포맷으로 보여주기 위해 동적 포맷팅을 적용했다.
실제 사용자에게 더 직관적인 숫자 표현을 위한 고민이었다.
→ 이모지를 활용해 정보 전달력을 높였고, 제목–채널명–조회수–링크 구성을 통해 모바일에서도 보기 편하도록 디자인했다.
해결: maxResults 제한, 필요한 필드만 요청, 캐싱 고려
향후: Redis 기반 데이터 저장 + 비동기 호출로 확장 예정
해결: 포맷팅 조건문으로 일관성 유지
소수점은 한 자리로 제한해 가독성 향상
해결: youtu.be 단축 주소 사용
� 비동기화 : aiohttp 도입 → 여러 국가 트렌드 동시 수집
� 에러 대응 강화 : API 실패/재시도/에러 로그 구분 처리
� 데이터 분석 연동 : 인기 채널, 카테고리, 조회수 변화 분석 기능 추가 예정
YouTube 트렌드를 직접 크롤링하는 것은 API 할당량, 속도, 포맷 등 고려해야 할 점이 많지만,
막상 기능이 안정적으로 돌아가기 시작하니"왜 이걸 이제서야 만들었을까" 싶을 정도로 유용하다.
앞으로는 이 데이터를 기반으로
숏츠 콘텐츠 기획
블로그 트렌드 분석
뉴스레터 제작 자동화
같은 방식으로 확장할 계획이다.
현재 봇 작동 채널: @googletrendz
#파이썬 #텔레그램봇 #유튜브API #구글트렌드 #자동화개발 #콘텐츠기획 #트렌드분석 #실시간트렌드 #숏츠아이디어 #사이드프로젝트 #혼자서개발 #개발자브런치