El día de hoy vamos a aprender a crear un pequeño script para descargar cualquier video de Youtube a nuestro ordenador utilizando Python 3 y una librería gratuita llamada pytube, es muy sencillo de crear y el resultado la verdad es que es muy interesante.
Antes de empezar
Vamos a necesitar obviamente tener instalada la última versión de Python en nuestro ordenador, la puedes descargar desde este enlace https://www.python.org/downloads/ o dando clic aquí.
Podemos probar si se instaló de forma correcta Python abriendo una nueva consola (en mi caso utilizo bash) y escribiremos el comando python --version
y presionamos enter, si todo está en orden, debería mostrarnos la versión de Python en nuestro sistema.
Y ahora también deberemos instalar pip en caso de que no tengamos la versión 3.4 de Python (en esta, pip viene por defecto y nos ayuda a descargar e instalar dependencias), para esto puedes descargarlo desde aquí y ejecutarlo https://bootstrap.pypa.io/get-pip.py.
Una vez instalado podrás instalar cualquier dependencia extra, es probable que requieras permisos de administración para dicha tarea, así que asegurate de abrir la terminal con permisos de administrador o usar sudo
en Mac y Linux en la línea de comandos.
Ya con todo esto listo, correremos el comando pip install pytube
esto va a instalar la dependencia que vamos a utilizar en este script.
Nuestro script
Vamos a crear una carpeta donde tengamos nuestro proyecto o dónde tú prefieras, en mi caso la carpeta se llama python y adentro vamos a crear un archivo youtube.py donde escribiremos nuestro código, que honestamente, será algo rápido y breve.
Ya con nuestro archivo, vamos primero que nada a importar la librería que instalamos en pasos anteriores y usaremos el módulo YouTube de pytube, quedaría algo así nuestra línea de código:
from pytube import YouTube
Después vamos a crear una función muy sencilla a la cual le pasaremos un parámetro link o url, que será precisamente del video de Youtube que queremos descargar.
Para esto la definiremos primero y comenzamos a trabajar en ella
def Download(link):
Lo primero que vamos a hacer es almacenar toda la información de dicho video capturado en una variable nueva, que usaremos más adelante para acceder y descargar el contenido si está disponible.
yt = YouTube(link)
yt = yt.streams.get_highest_resolution()
Y como vemos accedemos al elemento streams
y al método get_hihest_resolution()
para obtener la mejor resolución posible disponible, y después dentro de un bloque try-except
haremos la descarga usando el método download()
de nuestra variable yt
que almacena toda la información del objeto de YouTube
.
try:
yt.download()
except:
print("Hubo un error al descargar el video del URL proporcionado...")
print("¡Descarga completada con éxito!")
Y listo, esa sería toda nuestra función que quedaría así ya completa:
def Download(link):
yt = YouTube(link)
yt = yt.streams.get_highest_resolution()
try:
yt.download()
except:
print("Hubo un error al descargar el video del URL proporcionado...")
print("¡Descarga completada con éxito!")
Ahora solamente pediremos al usuario al ejecutar el script que ingresa una URL de video para poder descargarlo y después ejecutamos nuestra función:
# Pedimos al usuario en la línea de comandos ingresar el URL del video para descargar
link = input("Pega tu link de youtube aquí, URL: ")
# Descargamos el video
Download(link)
Y con eso, tenemos todo lo que necesitamos, quedaría el archivo completo de la siguiente manera:
from pytube import YouTube
def Download(link):
yt = YouTube(link)
yt = yt.streams.get_highest_resolution()
try:
yt.download()
except:
print("Hubo un error al descargar el video del URL proporcionado...")
print("¡Descarga completada con éxito!")
# Pedimos al usuario en la línea de comandos ingresar el URL del video para descargar
link = input("Pega tu link de youtube aquí, URL: ")
# Descargamos el video
Download(link)
Y ahora ya solo ejecutamos en nuestra línea de comandos el archivo youtube.py
o si usas VS Code, arriba a la derecha aparece el ícono para ejecutarlo. En la línea de comandos solamente deberías escribir py youtube.py
o python youtube.py
y listo.
Vamos a ejecutarlo e ingresar el url siguiente para descargarlo: https://www.youtube.com/watch?v=2jqjVmQ8Jc0
Esperamos unos segundos o minutos dependiendo de la resolución y la longitud del video y nos debería aparecer que se descargó con éxito y deberíamos poder ver el archivo en su formato .mp4 en nuestra carpeta del script.
¡Listo! Así de sencillo tenemos nuestra propia forma privada de descargar contenido de Youtube sin restricciones, prueba usando los métodos extras del módulo YouTube
, y cuéntanos como te fue o que creaste.
Si te gusto o te fue útil este tutorial y script recuerda compartir y seguirnos, así nos ayudas mucho a continuar creando contenido gratuito.
También no te olvides de pasar por nuestra Academia en línea, encontrarás cursos Gratuitos y Premium para ti.