Herramientas Informaticas

Categoría: DESARROLLO Página 1 de 3

🎬 Cómo Crear un Descargador de Videos de YouTube con Interfaz Gráfica en Python

Entrada fija

🎬 Cómo Crear un Descargador de Videos de YouTube con Interfaz Gráfica en Python

¿Quieres tu propia app para descargar videos de YouTube de forma sencilla? Aquí te explico cómo hacerlo con Python, usando una interfaz gráfica moderna y arte ASCII decorativo. Usaremos pytubefix para evitar errores comunes como el 400 Bad Request.


✅ Paso 1: Instala las dependencias

Abre la terminal y escribe:


pip install pytubefix

🧱 Paso 2: Código completo del programa

Crea un archivo llamado descargador_youtube.py y copia el siguiente contenido:


import tkinter as tk
from tkinter import ttk, messagebox, filedialog
from pytubefix import YouTube
import threading

def descargar_video():
    url = entrada_url.get()
    carpeta = ruta_descarga.get()

    if not url:
        messagebox.showwarning("Advertencia", "Por favor, ingresa una URL de YouTube.")
        return

    try:
        boton_descargar.config(state=tk.DISABLED)
        estado.set("Descargando video...")

        yt = YouTube(url)
        video = yt.streams.filter(progressive=True, file_extension='mp4').order_by('resolution').desc().first()

        if not video:
            raise Exception("No se encontró un stream compatible.")

        video.download(output_path=carpeta)
        estado.set("¡Descarga completada!")
        messagebox.showinfo("Éxito", f"Video descargado: {yt.title}")
    except Exception as e:
        estado.set("Error en la descarga.")
        messagebox.showerror("Error", str(e))
    finally:
        boton_descargar.config(state=tk.NORMAL)

def elegir_carpeta():
    carpeta = filedialog.askdirectory()
    if carpeta:
        ruta_descarga.set(carpeta)

def iniciar_descarga():
    hilo = threading.Thread(target=descargar_video)
    hilo.start()

# Crear ventana
ventana = tk.Tk()
ventana.title("Descargador de YouTube")
ventana.geometry("600x460")
ventana.resizable(False, False)
ventana.configure(bg="#ffffff")

# Variables
ruta_descarga = tk.StringVar()
estado = tk.StringVar(value="Esperando URL...")

# Arte ASCII decorativo
ascii_art = r"""
 __     __     ______     __         ______     __   __    
/\ \  _ \ \   /\  __ \   /\ \       /\  ___\   /\ "-.\ \   
\ \ \/ ".\ \  \ \ \/\ \  \ \ \____  \ \  __\   \ \ \-.  \  
 \ \__/".~\_\  \ \_____\  \ \_____\  \ \_____\  \ \_\\"\_\ 
  \/_/   \/_/   \/_____/   \/_____/   \/_____/   \/_/ \/_/ 
"""
etiqueta_ascii = tk.Label(
    ventana,
    text=ascii_art,
    font=("Courier", 10),
    bg="#ffffff",
    fg="#cc0000",
    justify="left"
)
etiqueta_ascii.pack(pady=(5, 0))

# Estilo
estilo = ttk.Style()
estilo.theme_use("clam")
estilo.configure("TButton", font=("Segoe UI", 10), padding=6)
estilo.configure("TLabel", font=("Segoe UI", 10), background="#ffffff")
estilo.configure("TEntry", font=("Segoe UI", 10))

# Widgets
ttk.Label(ventana, text="URL del video de YouTube:").pack(pady=10)
entrada_url = ttk.Entry(ventana, width=60)
entrada_url.pack(pady=5)

frame_carpeta = ttk.Frame(ventana)
frame_carpeta.pack(pady=10)

ttk.Entry(frame_carpeta, textvariable=ruta_descarga, width=45).pack(side=tk.LEFT, padx=(0, 10))
ttk.Button(frame_carpeta, text="Elegir carpeta", command=elegir_carpeta).pack(side=tk.LEFT)

boton_descargar = ttk.Button(ventana, text="Descargar Video", command=iniciar_descarga)
boton_descargar.pack(pady=15)

ttk.Label(ventana, textvariable=estado, foreground="blue").pack(pady=5)

ventana.mainloop()

🧪 Paso 3: Ejecuta tu aplicación


python descargador_youtube.py

🎨 Resultado del arte ASCII


 __     __     ______     __         ______     __   __    
/\ \  _ \ \   /\  __ \   /\ \       /\  ___\   /\ "-.\ \   
\ \ \/ ".\ \  \ \ \/\ \  \ \ \____  \ \  __\   \ \ \-.  \  
 \ \__/".~\_\  \ \_____\  \ \_____\  \ \_____\  \ \_\\"\_\ 
  \/_/   \/_/   \/_____/   \/_____/   \/_____/   \/_/ \/_/ 

💡 Siguientes pasos sugeridos

  • Agregar barra de progreso visual
  • Soporte para listas de reproducción
  • Conversión a MP3 automática

¿Te gustaría que publique otra guía con alguna de estas mejoras? ¡Déjame un comentario! 🚀

Laravel 9 Conversor XML CFDI 4.0 a PDF

Ahora veremos como desarrollar un programa básico para convertir los XML a PDF

En la pantalla principal elegimos el archivo XML CFDI
Y así genera el archivo PDF

SOFTWARE WEB PARA ETIQUETAS PARA LUBRICANTES CON CÓDIGO QR EN LINUX MINT 19

INTRODUCCIÓN
Este software que apenas se esta desarrollando es un catalogo de productos enfocado en lubricantes en el cual imprime etiquetas en formato PDF con algunos de los datos mas solicitados y con el codigo QR. Se desarrollo en entorno WEB en PHP para que corra en cualquier sistema operativo. OBJETIVO Instalar y probar este software, así como compartir el código fuente para que lo puedan modificar a su gusto, ademas de ser un respaldo para mi.
DESCARGAR CÓDIGO FUENTE
https://t.me/CesarSystems/536
DESCARGAR BASE DE DATOS
https://t.me/CesarSystems/537

SCRIPT PARA DESBLOQUEAR PUERTO DE MYSQL MARIADB

Que tal mis amigos, en esta ocación les dejo un tutorial de primaria en el cual consiste liberar el puerto del MySQL o MariaDB, para que nos podamos conectar al servido de la base de datos desde cualquier equipo que este dentro de la red, aunque tambien les puede servir para cualquier otro puerto.

Para empezar les dejo el código .BAT que hay que ejecutar para que lo tengan guardado, si de dan cuenta en el numero de puerto dice 3316 tanto como en el segundo y tercer renglón, eso ustedes lo cambian por el 3306 si es que tenian el puerto por default de MySQL.

Archivo BAT

USO DE LA FUNCION UUID E IMPRESION DE TICKETS #63

EN ESTE VIDEO VEREMOS COMO USAR LA FUNCIÓN UUID Y TAMBIÉN PROGRAMAREMOS LA IMPRESIÓN DE TICKETS

ULTIMAS CORRECCIONES A LA TABLA DE VENTAS Y COTIZACIONES #62

EN ESTE VIDEO MOSTRAREMOS LOS ÚLTIMOS TOQUES DEL SERVER SIDE PROCESING SOLO QUEDA COMO ORDENAR LOS CAMPOS Y COMO FILTRARLOS CON EL CAMPO DE BUSQUEDA

HACIENDO TESTEOS Y HACIENDO CORRECCIONES #61

CORREGIREMOS ALGUNOS DETALLES EN LOS BOTONES, DE ADMINISTRAR COTIZACIONES

IMPLEMENTANDO SERVER SIDE A LA TABLA ADMINISTRAR COTIZACIONES #60

BUENOS DÍAS AMIGOS EN ESTE VIDEO VEREMOS COMO IMPLEMENTAR EL SERVER SIDE AL DATATABLE DE ADMINISTRAR DE COTIZACIONES.

IMPLEMENTANDO SERVER SIDE A LA TABLA ADMINISTRAR VENTAS #59

BUENOS DÍAS AMIGOS EN ESTE VIDEO VEREMOS COMO IMPLEMENTAR EL SERVER SIDE AL DATATABLE DE ADMINISTRAR VENTAS, ACÁ AUMENTA MAS LA COMPLEJIDAD

COMO INSTALAR OSTICKET 1.12 EN UN HOSTING WEB

En la entrada anterior vimos como instalar osticket 1.12 en el servidor local en el sistema operativo Linux Mint 19.1 con el escritorio XFCE, con XAMPP instalado.

Ahora veremos como hacerlo en un servidor gratuito, en este tutorial usaremos https://mex.000webhost.com/ un servidor que he estado probando y me ha dado resultados, ademas de comprar solo lo que vas necesitando, por ejemplo, podrás encontrar dominios desde menos de un dólar, la desventaja es que tendrás que configurarlos usted mismo, los puertos seguros etc, igual pronto mostraremos un tutorial sobre eso, de momento usaremos el subdominio que da gratuitamente.

Primeramente descargamos OSTICKET tal como lo hicimos anteriormente, podremos descargarlo desde la pagina oficial o desde nuestra cuenta de mediafire DESCARGAR

Una vez descargado lo descomprimimos y los saldrán las siguientes archivos entonces descomprimimos de nuevo osTicket-v1.12.zip
Luego copiamos los archivos es_MX.phar y storage-s.phar en la carpeta /osTicket-v1.12/upload/include/i18n/
Una vez copiados los archivos comprimimos la carpeta upload y la subimos con el administrador de archivos de 000webhost
Una vez que subamos el archivo comprimido extraemos el archivo solo seleccionamos el archivo upload.zip y renombramos la carpeta de upload a osticket.
Cambiamos el nombre del archivo de configuración tal como se muestra en la imagen de abajo y también le damos permiso de escritura
Y tal como en la entrada y video anterior rellenamos los datos, creamos la base de datos con phpmyadmn y los ponemos en este mismo formulario
Al finalizar de damos clic en instalar ahora y si rellenaron bien los datos empezara a instalarse osticket, se empezaran a crear las tablas
Al finalizar nos sale que se ha instalado correctamente
Saludos y espero que les sirva este manual, no se olviden de comentar y hasta la próxima.

Página 1 de 3

Creado con WordPress & Tema de Anders Norén