Python Projects

Download YouTube videos in Python

We can use the package Pytube to download YouTube videos in a Python script. It’s a free tool you can install from the PyPI repository. You can also specify the output format (eg: mp4) and resolution (eg: 720px) when downloading videos.

Downloading YouTube Videos in Python

Here’s a step-by-step approach to downloading YouTube videos in Python.

Step I: Install Pytube using pip

pip install pytube

Step II : In your script import the YouTube class from pytube package.

from pytube import YouTube

Step III : Create an object of YouTube bypassing the video URL

yt = YouTube("<Your youtube URL>")

Step IV : Use the filter method to specify the download format of the video

mp4_files = yt.streams.filter(file_extension="mp4")

Step V : Get the video you want by specifying the resolution

mp4_369p_files = mp4_files.get_by_resolution("360p")

Step VI : Save the downloaded video to the local file system

mp4_369p_files.download("<Download folder path>")

Here’s what the completed script will look like. I’ve wrapped it with a function definition that accepts the url and outpath as arguments.

from pytube import YouTube


def download_360p_mp4_videos(url: str, outpath: str = "./"):

    yt = YouTube(url)

    yt.streams.filter(file_extension="mp4").get_by_resolution("360p").download(outpath)


if __name__ == "__main__":

    download_360p_mp4_videos(
        "https://www.youtube.com/watch?v=JfVOs4VSpmA&t=4s&ab_channel=SonyPicturesEntertainment",
        "./trailers",
    )

The above code will download the Spiderman: No way home trailer and save it in a folder called ‘trailers’.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button