유튜브 재생목록 내의 파일들을 다운로드 받기

bash 와 youtube-dl을 사용하여 유튜브 재생목록 내의 파일들을 다운로드 받는 과정을 정리했다.

  1. 여러 동영상을 모아두는 재생목록을 찾아서 동영상 리스트 페이지로 들어간다.
  2. 해당 페이지의 소스를 복사하여 편집기에 붙여둔다.
  3. 영상리스트에서 각 영상의 링크는 도메인을 빼고 /watch?v=..... 이런 식으로 주소가 구성된다. 그래서 \/watch\?v\=[a-zA-Z0-9]+ 패턴으로 모두 찾아서 이를 복사한다.
  4. 3의 주소들은 같은 주소가 모두 반복된다. 그래서 vim 등에서 한 줄씩만 남기고 지우는 작업을 거친다. 그리고 내용을 저장한다.
  5. 다음 bash 스크립트로 다운로드 받는다.
$ for i in $(cat list.txt); do youtube-dl "http://www.youtube.com/$i"; done
  1. 다운로드 받은 파일의 이름이 non-ascii 문자가 있으면 TV에서 인식이 안될 우려가 있어서 다음 스크립트로 다시 일괄 변경했다.
$ a=1
$ for i in *.mp4;do mv "$i" "video$a.mp4";a=$(echo "$a + 1" | bc);done

각 과정의 내용은 간단하니 파이썬 같은걸로 쉽게 자동화 스크립트를 만들 수 있을 것 같구먼. 끗.