본문 바로가기

언어/python&웹 크롤링

[python&웹 크롤링] 8. youtube 동영상 다운로드 및 mp3 변환

이번시간에는 youtube를 통해서 자신이 원하는 동영상을 저장하고, mp4 파일을 mp3로 변환해보겠다.

 

먼저 동영상 -> mp3로 변환하기 위해서는 변환용 코덱이 필요하다.

www.filehorse.com/download-ffmpeg-64/download/

다운로드 받아서 설치 & 압축풀기 하자.

 

다음으로, 유튜브 가져오는 기능을 사용하기 위해서는 pytube라는 패키지를 설치해야된다.

anaconda prompt를 키고, section2 폴더 활성화 시킨 뒤

pip install pytube 명령어 입력

설치 완료 후 conda list 명령어 입력 후 설치가 잘 되었는지 확인후에

atom 명령어 실행하여 atom 을 실행시킨다.

 

유튜브 파일을 다운로드 해야하므로 다운로드 받을 폴더를 생성하자 -> C:\youtube

 

이제 준비가 완료되었으니, 파이썬 코드로 진행해보겠다.

www.youtube.com/watch?v=9bZkp7q19f0

국뽕노래인 강남스타일을 타겟으로 정했다.

 

youtube-downloader.py

좀전에 설치했던 pytube 패키지를 임포트하고, ossubprocess 역시 임포트 시킨다.

subprocess는 anaconda prompt에서 입력하는 명령어들을 파이썬 코드상에서 입력시킬 수 있도록 해준다.

 

5 : YouTube 메서드 안에 강남스타일 유튜브 경로를 넣고, yt변수에 저장한다.

7 : yt 변수의 전체 내용을 담는 메서드를 호출하여 videos 변수에 넣어주었다. 이때 videos를 출력해보면 아래와같다.

 

yt.streams.all() 출력결과

해당 영상의 정보를 리스트 형태로 확인 가능하다. 화질에 대한 정보와 타입을 확인 가능  (9번 코드 실행된 결과)

 

12 : input 메서들르 사용하여 입력을 받는다. cNum 변수는 배열의 인덱스로 사용될 값이라 int형으로 변환했다.

16 : 실제로 다운받아지는 시점이다. download 메서드를 사용해 파라미터로 다운받을 경로를 넣는다.

19 : 다운받아진 파일의 이름을 default_filename을 통해 변수에 담아둔다.

21 : subprocess.call 메서드를 사용하여, 동영상을 mp3로 변환하여 저장한다. 

      커멘드에서 다음과 같이 입력하는 경우와 같다.(ffmpeg -i "oriFileName" newFileName)

 

※ 코드 실행 전 확인사항

다음 두가지 파일을 C:\youtube 에 이동시켜준다.

ffmpeg-4.3.1-win64-static\ffmpeg-4.3.1-win64-static\bin\ffmpeg.exe

이번에 생성한 python 코드 youtube-downloader.py 파일

두 파일을 옮겨줘야 하는 이유는 코덱과 파이썬 파일이 같은 경로에 있어야 코덱을 읽고 실행할 수 있기 때문

 

코드 실행 결과

 

실행 결과 다음과같이 파일이 생성됨을 확인할 수 있다.


Today :
Yesterday :
Total :