본문 바로가기
인공지능

유튜브/뉴스 메일 자동 수집 (chatgpt + Apps Script)

by 에디터_가을여행 2023. 3. 29.

안녕하세요. 에디터 가을여행입니다.

바쁜 사회를 살아가는 현대인에게 모든 일정과 할일, 뉴스, 관심분야에 대한 컨텐츠 등을 골라서 리마인드 해주거나 알려주는 개인비서가 있다면 어떨까요? 퇴근길이면 늘상 습관처럼 뉴스나 유튜브를 열고 구독한 유튜브나 최근에 자주 시청했던 혹은 알고리즘에 의해 노출된 유튜브를 보면서 귀가할때가 많습니다.

대부분 귀찮아서 보여주는데로 보는 경우가 있지만 이제 그만 보고 싶거나 주제를 바꿔보고 싶을때가 있습니다. 그때 유튜브에서 검색을 누르고 찾아보기도 하지만 이 모든 과정을 특정 시간이나 조건에 맞추어서 매일로 수집해주고 우리는 수집된 영상속에서 제목, 썸네일, 조회수, 좋아요 수등을 보면서 볼 만한 영상을 추려서 시청할 수 있습니다.

처음에는 간단히 관심분야 뉴스를 크롤링 해서 10개정도 정리해 이메일로 자동 수집해주는 앱스 스크립트를 준비했다가 이왕 하는 김에 유튜브가 재미있을 것 같아 진행해 보았습니다.

IT 분야에 종사하거나 전공자가 아니라도 쉽게 따라 할 수 있으니 편하게 보시기 바랍니다.

자동 수집을 위한 모든 과정

chatgpt를 통해서 어떤 프로그램을 작성할지 알려주고 그에 필요한 준비과정이나 방법등을 물어봅니다. 우리는 chatgpt에게 안내받은 대로 필요한 모든 과정을 순서대로 진행합니다. 모든 준비가 완료되면 코드를 작성해 달라고 요구합니다. 코드를 다 작성해주면 [copy code]를 누르고 Apps Script 앱에서 붙여넣기 합니다. 마지막으로 프로젝트를 저장하고 실행합니다. 성공? 실패하면 디버그 재실행을 수행합니다.

 

Apps Script가 뭔가요?

앱스 스크립트는 구글 워크스페이스와 통합되어 비즈니스 앱들을 빠르고 쉽게 만들 수 있는 애플리케이션 개발 플랫폼입니다. 클라우드 기반의 자바스크립트 플랫폼으로 구글 제품 간의 작업을 자동화하고 통합할 수 있습니다

 

사전준비 사항 확인

chatgpt에게 오늘 작성할 프로그램을 설명하고 필요한 것은 무엇이 있는지 물어봅니다.

- 내 질문 :

  • 구글의 앱스 스크립트를 작성해서 지정한 키워드로 검색한 유튜브 리스트를 이메일로 받아 보려는데 어떤 준비와 절차가 필요할까? 순서대로 알려주면 하나씩 진행해 볼게

- chatgpt 답변 :

  1. Google 메뉴에서 새로운 스프레드시트를 만듭니다. 확장 프로그램 -> Apps Script를 선택합니다.
  2. Apps Script 편집기에서 새로운 스크립트를 작성합니다. YouTube Data API를 사용하여 YouTube에서 검색어로 비디오를 가져오는 코드를 작성해야 합니다.
  3. API를 사용하려면 Google Cloud Platform에서 프로젝트를 만들고 YouTube Data API를 생성 및 활성화 합니다.
  4. YouTube Data API를 사용하는 스크립트를 작성한 후, 해당 스크립트를 실행하여 YouTube 비디오를 검색하고 스프레드시트에 저장합니다.
  5. 마지막으로 Gmail API를 사용하여 이메일을 보내는 스크립트를 작성해야 합니다.
  6. 이제 Gmail API를 사용하는 스크립트를 작성한 후 해당 스크립트를 실행하여 스프레드시트에 저장된 YouTube 비디오 목록을 이메일로 보낼 수 있습니다.


스프레드 시트 작성 및 스크립트 열기

  • 그리 어려워 보이지 않습니다. 구글 계정은 다 있으시리라 생각하고 구글 사이트에 접속하여 메뉴화면에서Sheets 를 선택하거나 구글 드라이브에서 새로 만들기 -> 구글 스프레드 시트를 실행합니다.

스프레드 시트 작성 방법

  • 구글 스프레드시트를작성했으면 확장프로그램에서 Apps Script를 선택합니다.

확장 프로그램 선택 - Apps Script

 

구글 클라우드 플랫폼에서 Youtube API key 생성하기

  • 우선 구글 클라우드 접속합니다. - Google Cloud Console
  • 사용할 API를 검색합니다. 'Youtube Data API v3' 를 검색해서 찾습니다.

Youtube Data API v3 검색

  • Youtube Data API v3 페이지로 이동해서 [사용] 또는 [관리] 버튼을 누릅니다.

Youtube Data API v3 화면

  • 아래 그림처럼 1번, 2번, 3번 순서로 Youtube Data API v3 키를 생성합니다.

Youtube Data API 생성 과정

  • 생성된 Youtube API key를 복사해 두었다가 메모장 등을 열어 붙여둡니다. 클립보드가 사라지거나 복사를 안하면 이 사이트에 다시 와야하니 복사한 것을 붙여넣기 해둡니다.

 

Apps Script 작성 요청

chatgpt에게 Apps Script 작성을 요청합니다. 우리는전문가가 아닌 관계로 코드를 요청하고 붙여넣기 및 실행만을 수행합니다. 다음과 같이 코드 작성을 요청합니다.

- 내 요청 :

  • 이제 모든 준비 과정을 마치고 코드만 작성하면 돼. 지정한 키워드에 대해서 유튜브 리스트 10개를 만들어줘. 테이블은 제목, 썸네일, 조회수, 좋아요 수, 채널이름의 형태로 구성해주고 수집한 자료를 내 이메일로 보내주는 Apps Script를 작성해줘.

- chatgpt 작성 :

  • 한페이지 반정도의 분량이 나옵니다. 오른쪽상단에 보이는[copy code]를 눌러서 전체 코드를 복사합니다.

Apps Script 작성 및 실행

  • 이제 Apps Script 화면으로 이동해서 기존 function() 부분 지우고 방금 복사한 코드 전체를 붙여넣기 합니다.
  • 물론 코드를 수정해야 하는 부분도 있습니다. 사용자가 입력해야 되는 부분은 주석처리 되어 있으며 빈 칸의 내용만 직접 채워줍니다. [ var apikey = " "; var keyword = " "; var emailaddr = " "; ]
  • 프로젝트 [저장]을 누르고 [실행]을 합니다. 중간에 에러가 발생할 수 있지만 에러 코드를 복사해서 chatgpt에게 알려주면 코드를 수정하거나 서비스 추가 방법을 안내해 줍니다.
  • 서비스 추가 방법은 좌측에 보이는 서비스 [+] 버튼을 눌러서 [Youtube Data API] 를 찾아서 선택해 줍니다.

서비스 추가 방법 및 실행 화면

  • 이제 디버깅도 마쳤고 마지막 실행만 남았습니다. 어플리케이션 실행 권한을 물어볼 수 있으며 승인후 진행합니다.

실행로그 화면

  • 에러 없이 정상 동작하는경우 위와 같이 [실행이 완료됨] 메시지를 확인할 수 있습니다.
  • Gmail 로 이동하여 지정한 키워드에 대해서 정상적으로 10개의 유튜브 리스트 리스트를 보냈는지 확인해 봅니다.

유튜브 리스트 자동발송 확인

모두 정상적으로 진행되었다면 결과를 확인합니다. 화면 구성이 썩 멋지게 나오진 않았지만 원하는 자료를 한 눈에 볼 수 있습니다. 아래는 [Prompt Engineering] 이라는 키워드로 검색해서 그 결과를 이메일로 보내준 결과입니다.

유튜브 리스트를 테이블 형태로 만들어서 이메일로 자동발송

 

자동 트리거 등록하기

  • 키워드 검색을 통한 유튜브 크롤링은 성공했지만 매번 구글 스프레드 시트에 들어가긴 번거롭습니다.
  • 자동화 작업을 추가해야 합니다. 여러가지 트리거가 있지만 시간 기반의 이벤트로 설정하겠습니다.

Apps Script 메뉴

Apps Script 편집기 좌측에 시계 아이콘 모양의 트리거가 있습니다. 트리거 메뉴로 이동합니다.

[+ 트리거 추가] 버튼을 누르면 다음과 같은 인터페이스창을 확인할수 있습니다.

Apps Script 트리거 메뉴

[이벤트 소스]가 여러가지 존재하지만 저는 시간 기반의 점심시간 전으로 설정했습니다. 퇴근했을때 총 2개의 메일을 받았습니다. 두개의 트리거 제 시간에 모두 잘 작동했고 원하는 내용의 유튜브 리스트를 받을 수 있었습니다.

마치면서...

이 과정이 번거롭고 힘들 수 있지만 결과가 나왔을 땐 신기하기도 하고 말할 수 없는 뿌듯함을 느낄 수 있었던 것 같습니다. 내가 수고하지 않아도 내가 원하는 자료를 원하는 시간에 수집해 놓는다면 우린 그것을 보고 어떻게 써먹을지 결정만 해주면 되는 것입니다. 관심분야의 추세도 미리 볼 수 있고 이만한 개인비서가 따로 있을까 생각이 됩니다.

다음에는 chatgpt를 이용해 돈이 되는 일을 실행해보려 합니다. chatgpt를 이용해서 스토리북 내용을 작성하고 미드저니로 페이지 삽화를 그리고 canva로 책커버를 디자인하여 아마존 KDP에 등록하는 과정을 진행해 보겠습니다.

댓글