본문 바로가기
프로그래밍

유튜브 '좋아요 표시한 동영상' 일괄 삭제 (feat.자바스크립트)

by 머니테크리더 2023. 4. 28.
반응형

유튜브 좋아요 표시한 동영상 일괄 삭제 대표 이미지
유튜브 좋아요 표시한 동영상 일괄 삭제 대표 이미지

🔖 INDEX

     

     

    이 글에서는 유튜브의 '좋아요 표시한 동영상' 목록에서 일괄 삭제하는 방법을 소개합니다.

    어느 날 갑자기 굉장히 많은 수의 좋아요가 표시된 동영상들이 나의 목록에 나타났습니다. 알 수 없는 이유로 이러한 국적불명 미지의 동영상들이 1000개가 넘게 쌓여있었고, 이를 일일이 삭제하는 것은 매우 번거로운 작업이었습니다. 유튜브에는 이러한 동영상들을 일괄 삭제하는 기능이 없기 때문에 다른 해결책을 찾기로 결심했습니다.

     

    동영상 1,012개가 추가되어 있는 '좋아요 표시한 동영상' 목록
    동영상 1,012개가 추가되어 있는 '좋아요 표시한 동영상' 목록

     

    매크로 방식을 활용한 자동 삭제 방법을 찾아냈으며, 이 방법을 통해 시간은 걸리지만 수동으로 하나씩 삭제하지 않아도 되어 편리했습니다.

     

    아래는 해당 방법을 사용하여 동영상 목록에서 일괄 삭제하는 방법입니다.

     

    좋아요 표시한 동영상 일괄 삭제 방법

    1. 자바스크립트 코드 다운로드

    일괄-삭제-코드.txt
    0.00MB

     

    2. '좋아요 표시한 동영상' 웹페이지로 이동

    유튜브 홈페이지 왼쪽 사이드 메뉴에 있는 '👍좋아요 표시한 동영상'을 클릭하여, 해당 메뉴로 이동합니다. 

     

    3. 크롬 개발자도구 활성화

    "F12" 키를 눌러 개발자도구를 활성화하면, 아래와 그림과 같이 도구창이 분할됩니다.

     

    개발자 도구 활성화 - Elements 창
    개발자 도구 활성화 - Elements 창

     

    4. 자바스크립트 실행

    위의 개발자도구에서 Console 탭을 클릭한 후 아래 그림과 같이 Console 창 Prompt에서 1번 절차에서 다운로드한 JavaScript코드 를 붙여넣고, "Enter" 키를 눌러서 실행합니다. 그러면, 자동으로 삭제 기능이 실행되는 것을 보실 수 있습니다.

     

    개발자 도구 활성화 - Console 창
    개발자 도구 활성화 - Console 창

     

    5. 반복 실행

    "F5" 키를 눌러 새로고침 한 후에, 남아있는 동영상이 있는지 확인합니다. 만약 남아있는 동영상이 있다면, 4번 절차를 다시 실행하여 삭제 작업을 반복합니다.

     

    이 방법을 사용하면 생각보다 간단하게 수 천 개의 동영상을 목록에서 삭제할 수 있습니다. 유튜브의 '좋아요 표시한 동영상' 목록을 정리하고자 할 때 이 방법을 활용해 보세요.

     

     

    자바스크립트 동작 원리 설명

    아래 코드는 자바스크립트로 작성된 코드로서, '좋아요 표시한 동영상' 목록에서 각 동영상을 목록에서 삭제 하는 작업을 수행합니다.

    const likedVideoElements =
    document.querySelectorAll('ytd-playlist-video-renderer.ytd-playlist-video-list-renderer yt-icon.ytd-menu-renderer');
    
    for (let i = 0; i < likedVideoElements.length; i++)
    {
    	setTimeout(() = > { 
    		likedVideoElements[i].click();
    		setTimeout(() = > { 
    			document.querySelectorAll('yt-formatted-string.ytd-menu-service-item-renderer')[4].click(); 
    		}, 200); 
    	}, i * 500);
    }

     

    1. 'const likedVideoElements = document.querySelectorAll('ytd-playlist-video-renderer.ytd-playlist-video-list-renderer yt-icon.ytd-menu-renderer');'

    웹 페이지에서 좋아요 표시한 동영상들의 목록을 찾아서 likedVideoElements 상수에 저장합니다. querySelectorAll 메소드를 사용하여 해당하는 요소들을 선택합니다.

     

    2. 'for (let i=0; i<likedVideoElements.length; i++) {'

    좋아요 표시한 동영상 목록의 길이만큼 for 반복문을 실행합니다.

     

    3. 'setTimeout(() => {'

    setTimeout 함수를 사용하여 코드 실행을 지연시킵니다. 이렇게 하면 각 동영상의 좋아요를 순차적으로 취소할 수 있습니다.

     

    4. 'likedVideoElements[i].click();'

    click 메소드를 사용하여 현재 반복에서 해당하는 동영상의 메뉴 버튼을 클릭합니다.

     

    5. 'setTimeout(() => {'

    다시 setTimeout 함수를 사용하여 코드 실행을 지연시킵니다. 이렇게 하면 메뉴가 완전히 표시된 후에 다음 작업을 수행할 수 있습니다.

     

    6. 'document.querySelectorAll('yt-formatted-string.ytd-menu-service-item-renderer')[4].click();'

    querySelectorAll 메소드를 사용하여 동영상 메뉴의 항목들을 선택하고, [4] 인덱스로 '좋아요 표시한 동영상에서 삭제' 메뉴를 찾아 클릭합니다.

     

    7. '}, 200); }, i * 500);'

    setTimeout 함수의 지연시간을 설정합니다. 첫 번째 setTimeout은 동영상 간 지연시간으로 500밀리초(i * 500)를 설정하고, 두 번째 setTimeout은 좋아요 메뉴가 표시되고 좋아요 취소 버튼을 클릭하는데 걸리는 시간으로 200밀리초를 설정합니다.

     

    이 코드를 실행하면, 좋아요 표시한 동영상 목록에서 각 동영상을 목록에서 삭제할 수 있습니다. 웹 브라우저의 개발자 도구에서 이 코드를 실행하면 작업을 수행할 수 있습니다.

     

     

    '프로그래밍' 카테고리의 다른 글

    c++20 주요 업데이트 기능  (0) 2024.05.17

    댓글