descargando videos de youtube con python

Descargar videos de Youtube con Python y Pytube

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.

¿Quieres desarrollar sistemas profesionales?

Si nos sigues desde hace tiempo o eres nuevo en la Academia y quieres apoyar nuestro trabajo, te invitamos a nuestro Pack Full Stack, contiene todos nuestros cursos avanzados y premium.

¿Nos ayudas compartiendo?

Considera suscribirte para más

Deja un comentario

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

¿Ya nos sigues?

Más Populares

Recibe Todo en Tu Inbox

Suscríbete a nuestro boletín

Sin spam, solo notificaciones de nuevos cursos y contenido de la Academia.

Destacados para ti

Relacionados