YouTube 비디오 다운로더(단 2줄의 코드 포함)

7078 단어 pythonwebdev
따라서 WiFi 연결이 없는 사막에 있지만 YouTube에서 좋아하는 시리즈를 계속 시청해야 합니다. 이에 대한 간단한 해결책은 미리 비디오를 다운로드하는 것입니다. 인터넷에서 사용할 수 있는 YouTube 비디오 다운로더가 많이 있지만 좋아하는 비디오와 함께 맬웨어를 다운로드하고 싶지 않을 것입니다. 따라서 바람직한 솔루션은 자신만의 다운로더를 만드는 것입니다!!

파이썬으로 일이 얼마나 쉬운지 항상 놀라움을 금치 못합니다. 자신의 YouTube 비디오 다운로더를 만들려면 2줄의 코드만 있으면 됩니다(예, 잘 들었습니다)!

여기 있습니다. 아름답지 않습니까?

from pytube import YouTube
yt = YouTube('https://www.youtube.com/watch?v=sVPYIRF9RCQ').streams[0].download()


코드를 실행하기 전에 이 명령을 실행하는 것을 잊지 마십시오.

pip install pytube3 --upgrade


설명



첫 번째 줄은 YouTube 라이브러리에서 pytube 개체를 가져오는 것입니다. 그런 다음 두 번째 줄에서 비디오 URL을 추가하여 비디오를 지정합니다. 그런 다음 사용 가능한 첫 번째 비디오streams[0]를 선택하고 마지막으로download() 선택하십시오!

간단하지 않습니까?

추가 개선 사항



이 두 줄의 코드가 당신을 위해 일을 할 것이지만, 여전히 개선의 여지가 있습니다.

약간의 문제



위의 코드에서 비디오를 다운로드하면 다음과 같은 문제가 발생할 수 있습니다.
  • 다운로드가 얼마나 완료되었는지 표시되지 않음
  • 사용 가능한 최고 품질을 얻지 못함
  • 고정 다운로드 경로

  • 문제 해결



    문제를 하나씩 처리하자

    1. 표시 다운로드 길이



    다운로드한 비디오의 양을 나타내는 작은 진행률 표시줄이 표시됩니다. 그것은 아주 간단합니다. 하나의 추가 모듈을 가져오기만 하면 됩니다.

    from pytube import YouTube
    from pytube.cli import on_progress
    
    url = 'https://www.youtube.com/watch?v=sVPYIRF9RCQ'
    
    yt = YouTube(url, on_progress_callback=on_progress)
    yt = yt.streams[0].download()
    


    변경 사항에 대해 이야기해 보겠습니다. 두 번째 줄에서는 진행률 표시줄을 가져옵니다. 그리고 네 번째 줄에서는 비디오를 다운로드할 때 해야 할 일을 언급합니다. by on_progress_callback=on_progress , 우리는 비디오가 다운로드되는 동안 진행률 표시줄을 표시하는 프로그램을 말합니다.

    -> |██████████████████████████████████████████████████   | 97.0%
    


    진행률 표시줄은 다음과 같이 보일 것입니다.

    고화질 비디오 다운로드



    이를 위해 스트림 목록을 정렬해야 합니다. 스트림을 정렬하려면 내장order_by 메서드를 사용해야 합니다. 다음 코드를 살펴보십시오.

    from pytube import YouTube
    
    url = 'https://www.youtube.com/watch?v=sVPYIRF9RCQ'
    
    yt = YouTube(url)
    yt.streams.order_by('resolution').desc()
    yt = yt.streams[0].download()
    


    itag 및 FPS로도 스트림을 주문할 수 있습니다.

    다운로드 경로 포함



    특정 경로에 동영상을 다운로드 하려면 다음과 같이 download()에 파일 경로를 인수로 추가하면 됩니다.

    from pytube import YouTube
    
    url = 'https://www.youtube.com/watch?v=sVPYIRF9RCQ'
    
    yt = YouTube(url)
    yt = yt.streams[0].download('/video')
    


    전체 경로를 추가할 수도 있습니다.

    최종 코드




    from pytube import YouTube
    from pytube.cli import on_progress
    
    url = 'https://www.youtube.com/watch?v=sVPYIRF9RCQ'
    
    yt = YouTube(url, on_progress_callback=on_progress)
    
    yt.streams.order_by('resolution').desc()
    
    download_path = '/video'
    
    yt = yt.streams[0].download(download_path)
    


    결론



    지금은 여기까지입니다. 바쁘고 몇 개의 동영상을 다운로드해야 하는 경우 최종 코드를 참조하세요. 그러나 더 자세히 알아보려면 공식documentation을 읽을 수 있습니다. 나는 당신의 상상력을 제한하고 싶지 않지만 당신이 시도할 수 있는 몇 가지가 있습니다.
  • 웹앱 만들기
  • GUI 만들기
  • 고급 필터링 옵션 추가

  • 이 포스팅이 조금이나마 도움이 되셨길 바랍니다. 그리고 이것이 내가 이번에 당신에게 제안한 전부입니다. 다음 시간까지, 당신을 위한 행복한 코딩. 😊

    좋은 웹페이지 즐겨찾기