No Code/Make

[Make] Notion 페이지에 Youtube 영상 추가

Watertight 2024. 6. 29. 10:35

개요

Notion 페이지에 특정 채널의 Youtube 영상을 Embed하는 방법을 알아본다.
이로 인한 장점은 다음과 같다.
(1) 필요한 영상만 시청 (Youtube 알고리즘을 타면서 보내는 시간을 줄임)
(2) 광고없이 영상 시청
(3) 하나의 URL에 원하는 채널들의 영상만 모아놓고 볼 수 있음 (웹사이트 게시로 배포 가능)

<Make에 Notion 연동하는 방법 아래 참고>

2024.06.28 - [No Code/Make] - [Make] Notion 연동하기

 

[Make] Notion 연동하기

개요Notion 자동화를 위한 Make 연동을 해본다.https://www.make.com/en/help/app/notion?_gl=1*1bi6yik*_gcl_au*MjM2OTg0NzYyLjE3MTgwMDcyNjA.*_ga*OTk1NjI5MzE2LjE3MDk2MDU4NTg.*_ga_MY0CJTCDSF*MTcxOTUzNDkyOS4yMjkuMS4xNzE5NTM1MDAzLjYwLjAuMA..Make Connec

2nd-deck.tistory.com

 

구현할 시나리오

(1) 특정 채널의 Video URL의 HTML 가져온다.
(2) 파싱하여 영상들의 ID와 업로드 날짜를 가져온다.
(3) 하루가 지나지 않은 항목만 Notion에 게시한다.

시나리오

 

Notion 설정

영상을 Embed할 페이지를 만든다. 여기서는 To-Do-List에 오늘 볼 영상이라고 페이지를 생성하였다. (Make에서 매일 새로운 페이지를 만들어서 저장할 수도 있고, 하나의 페이지를 삭제/생성을 매일 반복할 수도 있다. 여기서는 만들어진 페이지를 이용한다.) 

Notion Page 생성

 

Make 시나리오 생성

1. HTTP의 Make a request 모듈 생성
 - URL : https://youtube.com/{@채널이름}/video (유튜브 채널의 '동영상'을 클릭했을때 나타나는 페이지)
 - Method : GET
 - Headers
    Accpet-Language : ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7 (넣지 않으면 영어로 불러들임)

http

아래와 같이 동영상 탭을 클릭했을때의 주소창을 가져오면 된다.

유튭

2. Text parser의 Match pattern 모듈 생성
 - Pattern : "publishedTimeText":\{[^}]*\}.*?watch\?v=[^"]*"  (정규식으로 필요한 텍스트 파싱)
 - Global match : Yes 

text parser

위의 정규식으로 파싱한 결과는 아래와 같으며, 30개의 결과가 나타난다.

파싱 결과


3. Notion의 Append a Page Content 모듈 추가
 - Page ID : 생성한 페이지 선택
 - Content Objects
    Type : Video
    External - Video URL : https://www.youtube.com/embed/{비디오ID}가 되도록 함수를 이용 
(URL을 https://www.youtube.com/watch?v={비디오ID}가 아닌 위와 같이 하면 embed로 하면 광고가 나오지 않음. 비디오ID는 파싱한 텍스트를 함수를 이용하여 편집하여 가져옴. 하단 캡쳐 참고)

노션 게시

비디오 ID를 찾기 위한 함수의 의미는 Text를 '=' 기호로 나누어 배열로 만들고, 배열의 마지막 항목을 가져온 뒤 "를 제거하였음.

4. 필터를 만들어 24시간 안에 배포된 영상만 노션에 추가하도록 설정
 - Text에서 '시간 전"},'이나 '분 전"},'이 포함 된 경우만 진행 (하루가 지나면 X일 전, X주 전등으로 표시됨)
 - 필터를 만들지 않으면 30개가 모두 게시됨 (필요에 따라 설정)

필터


5. Run 하여 결과 확인

시나리오 런

노션에서 확인

노션 확인