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.
Publicación traducida automáticamente
Artículo escrito por romilvishol y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA