YouTube is an very popular online video sharing and social media website which was launched on February 14, 2005. Video downloading from YouTube is pretty tough. From Python we can easily download Videos from YouTube using Python library Pytube.
Pytube is a lightweight, Pythonic, dependency-free, library where we can download videos from YouTube.
Pytube is not a Standard library. You have to install Pytube before using it.
You can easily install pytube using pip(It is a package manager for modules or packages).
Type the following command in the terminal or command prompt to install pytube.
pip install pytube
Download a Video from YouTube using Python
First we have to import Youtube module from pytube.
Then we have to create an object of Youtube module where we will pass the url as parameter.
After that we have to set correct extension and resolution.
Then, we have to write ‘First()’ function to return the first element in the list of video formats available and last we have to use download function to download the file in location we can set.
main.py:
# importing library from pytube import YouTube # creating an input for pasting or writing URL url = input("Enter YouTube Video URL:- ") # creating object using YouTube vid = YouTube(url) # filtering files with mp4 extension # progressive put video and audio in single file Yvideo = vid.streams.filter(file_extension='mp4', progressive=True).order_by('resolution').desc() # First() only returns the first element in the list of video formats available # '.download' downloads the file in specific location Yvideo.get_lowest_resolution().download('~/Downloads')
Download a Highest or Lowest Quality Video from YouTube using Pytube
We can also download highest or lowest quality video from youtube by simply using ‘get_highest_resolution()’ or ‘get_lowest_resolution()’ function.
For Highest quality we have to use:
# To download Highest Quality Video from YouTube Yvideo.get_highest_resolution().donwload('~/Downloads')
And, for Lowest quality we have to use:
# To download Lowest Quality Video from YouTube Yvideo.get_lowest_resolution().donwload('~/Downloads')
Download YouTube Videos using Django
Django is high level web framework of python with clean and rapid development.
To create a YouTube Downloader tool. Firstly, you have to download and install Django.
After Installing Django, we have to create an html file where user can paste URL and can download the video.
We will use POST method in this Project that will give us the URL written on HTML tag securely and for using POST method we will also need csrf token.
index.html:
<!DOCTYPE html> <html lang="en"> <head> <title>YT_Downloader</title> </head> <body> <h1>Download Youtube Video</h1> <form action="" method="post"> {% csrf_token %} <input type="text" id="y_url" name="y_url"> <input type="submit"> </form> </body> </html>
After, creating html file we have to create a Python file that will receives the URL and download the video from YouTube.
views.py:
from django.shortcuts import render from pytube import * # Create your views here. def index(request): if request.method == 'POST': link = request.POST['y_url'] vid = YouTube(link) Yvideo = vid.streams.filter(file_extension='mp4', progressive=True).order_by('resolution').desc() Yvideo.first().download('~/Downloads') return render(request, "index.html")
And Lastly, we have to specify URL Paths.
urls.py:
from django import views from django.urls import path from . import views urlpatterns= [ path("index", views.index, name="index") ]
And then, you can simply run the project by using “python manage.py runserver” in terminal or command prompt.
Output:

After Clicking submit button, video will be downloaded in ~/downloads file in Project.
