Descargador de videos de Youtube usando Django

En este artículo, veremos cómo crear una herramienta de descarga de videos de YouTube en Django. Usaremos el módulo pytube para eso.

Requisito previo:

  • pytube: Es un módulo liviano y libre de dependencias de Python, que se utiliza para descargar videos de YouTube.
  • Django : es el framework de python para hacer aplicaciones web.

Aquí, usaremos Django como backend junto con el módulo pytube para crear esta herramienta. Podemos instalar el módulo pytube escribiendo el siguiente comando en la terminal.

pip install pytube

Entonces, profundicemos para crear nuestra herramienta de descarga de videos de YouTube.

Primero, crearemos un diseño HTML (formulario) donde el usuario puede ingresar e ingresar la URL de un video que desea descargar. Usaremos el método POST de Django para obtener esa URL (porque es segura). También necesitamos usar el token csrf si estamos usando el método POST. La sintaxis para el token csrf es: 

{% csrf_token %}

HTML

<!DOCTYPE html>
<html>
<body>
  
<h1>Youtube video downloader</h1>
  
  
<form action="" method="post">
  {% csrf_token %}
  
  <label for="link">Enter URL:</label>
  <input type="text" id="link" name="link"><br><br>
  <input type="submit" value="Submit">
</form>
  
</body>
</html>

Ahora es el momento de crear una función que reciba el enlace del video y descargue ese video. Debe importar la función YouTube desde el módulo pytube en el archivo views.py.  Ahora podemos definir la función para descargar video.

vistas.py

Python3

# importing all the required modules
from django.shortcuts import render, redirect
from pytube import *
  
  
# defining function
def youtube(request):
  
    # checking whether request.method is post or not
    if request.method == 'POST':
        
        # getting link from frontend
        link = request.POST['link']
        video = YouTube(link)
  
        # setting video resolution
        stream = video.streams.get_lowest_resolution()
          
        # downloads video
        stream.download()
  
        # returning HTML page
        return render(request, 'youtube.html')
    return render(request, 'youtube.html')

Ahora, tenemos que definir la URL (ruta) para esta función dentro de urls.py.

Python3

from django.contrib import admin
from django.urls import path
from . import views
  
urlpatterns = [
    path('admin/', admin.site.urls),
    path('youtube', views.youtube, name='youtube'),
]

Eso es todo por la parte de codificación, ahora puede ejecutar el proyecto mediante python manage.py runserver y dirigirse a http://localhost:8000/youtube para ver el resultado.

Producción:

Cuando haga clic en enviar, se descargará un video en el directorio de su proyecto Django.

django youtube downloader

Publicación traducida automáticamente

Artículo escrito por romilvishol y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *