Category: Multi Downloader

Contenido relacionado con el proyecto MultiDownloader

  • Nueva versión del multi_downloader publicada (v0.3).

    Buenas tardes a todos. Ya ha pasado bastante tiempo desde la última vez, pero aquí estamos de nuevo con buenas noticias.Ya está publicada la v0.3 del proyecto en GitHub.
    Sigue siendo una versión en evolución, así que todavía puede contener errores o comportamientos inesperados. Gracias de antemano por la paciencia y por el feedback. 🙂

    Características de la v0.3

    En esta versión se han incluido mejoras de estabilidad, experiencia de uso y pruebas automáticas:

    • Respuestas de confirmación más flexibles en toda la app:
      • Ahora se aceptan tanto y/n como yes/no en Instagram, Twitter/X y YouTube.
    • Mejora del flujo de Instagram:
      • Extracción de shortcode más robusta para enlaces tipo postreel y tv.
      • Compatibilidad mejorada con URLs que incluyen parámetros (por ejemplo utm_*).
    • Mejor manejo de errores 403 en Instagram:
      • Mensajes más claros cuando Instagram bloquea temporalmente consultas de metadatos (graphql/query).
      • Se explica mejor cuándo es un bloqueo temporal/rate-limit y qué hacer.
    • Calidad de proyecto:
      • Se ajustó la configuración de pytest para que la suite de tests funcione de forma consistente desde la raíz del proyecto.
      • Se ampliaron pruebas unitarias para cubrir los nuevos casos (yes/no y parseo de shortcode con query params).
      • Documentación de troubleshooting actualizada en README.

    Estado actual de Instagram

    Por ahora, la descarga sigue enfocada en contenido accesible públicamente y puede verse afectada por restricciones temporales del lado de Instagram (como los 403 intermitentes).
    A futuro, se evaluará integración con sesión autenticada para mejorar fiabilidad, siempre priorizando seguridad.

    Flujo de funcionamiento (actualizado)

    1. Introducción del enlace.
    2. Validación del enlace y obtención del recurso.
    3. Selección del directorio de destino (si se deja vacío, usa Usuario/Descargas).
    4. Selección del nombre del archivo (si se deja vacío, se usa nombre por defecto según plataforma, por ejemplo shortcode en Instagram).
    5. Confirmaciones interactivas compatibles con y/n y yes/no.

    Como siempre, aquí tenéis el repositorio para revisar los cambios a nivel de código.

    Próximas ideas

    La terminal está chula y te da puntos, pero para ser sinceros, si no sabes usarla, es un coñazo. De aquí en no sé cuanto (xD) habrá una nueva actualización que incluya una UI, es decir, una interfaz gráfica. Pero «no preocuparse», la interfaz a través de la CLI seguirá funcionando.

    Si alguien quiere colaborar en el proyecto programando, probando el código y reportando los posibles fallos o sugiriendo futuras características, estaré encantado de recibir la ayuda. Solo debes ponerte en contacto conmigo a través de mis redes sociales, publicando algo en el repositorio o a través de email a la dirección [email protected].

    Muchas gracias y hasta la próxima, ¡73s de Juanchi EA1FSC!

  • Nueva versión del multi_downloader publicada (v0.2).

    Buenas tardes a todos. Me agrada anunciar que se ha publicado una nueva versión del proyecto en el repositorio de GitHub. Cabe destacar que esta sigue siendo una versión preliminar y puede contener varios errores o bugs. Pido disculpas de antemano. 🙂

    Características de la v0.2

    Se ha implementado el «downloader» para Instagram, permitiendo:

    • Descarga de fotos (desde un post).
    • Descarga de vídeos (desde un post).
    • Descarga de reels.

    Es importante mencionar que, por ahora, esta funcionalidad solo está disponible para cuentas públicas. Esto significa que si intentamos descargar contenido de una cuenta privada, la versión actual no lo permitirá. Sin embargo, la biblioteca utilizada (instaloader) permite iniciar sesión en Instagram, lo que facilitará el acceso a elementos de cuentas no públicas que sigamos.

    Esta característica se implementará en el futuro, pero primero debo asegurarme de que sea segura (no quisiera exponer cuentas ajenas xD).

    Proceso de funcionamiento

    1. Introducción del enlace a descargar.
    2. Obtención del elemento.
    3. Selección del directorio de destino donde se guardará el archivo (si no se especifica, se utilizará el directorio Usuario/Descargas).
    4. Elección del nombre del archivo (si no se proporciona uno, se usará el identificador del elemento en Instagram, conocido como shortcode).

    Como siempre, aquí tenéis el enlace al repositorio si queréis revisar los cambios realizados a nivel de código.

    Si alguien quiere colaborar en el proyecto programando, probando el código y reportando los posibles fallos o sugiriendo futuras características, estaré encantado de recibir la ayuda. Solo debes ponerte en contacto conmigo a través de mis redes sociales, publicando algo en el repositorio o a través de email a la dirección [email protected].

    Muchas gracias y hasta la próxima, ¡73s de Juanchi EA1FSC!

  • ¡Primera versión del multi_downloader publicada (v0.1)!

    Descripción del proyecto

    Como aparece en Proyectos y aplicaciones, el «Multi Downloader» es un programa en Python que permite la descarga de archivos desde múltiples fuentes: YouTube, Instagram, X (antes Twitter) y demás.

    Está integrado en Python (de momento en la versión 3.12.4), por lo que en principio es ejecutable en cualquier tipo de SO (Windows, MacOS o Linux).

    Características de la v0.1

    En esta primera versión publicada, ya se puede descargar desde YouTube en tres formatos distintos:

    • Vídeo (sin audio asociado) en varios formatos.
    • Audio en varios formatos.
    • Vídeo + audio (en formato mp4 o webm).

    ¿Por qué esta diferencia de formatos? YouTube funciona con el llamado DASH (Dynamic Adaptive Streaming over HTTPS) o en español, Streaming Adaptativo Dinámico sobre HTTPS. Esto significa que YouTube tiene almacenados varios archivos (o streams) del mismo elemento tanto de audio como de vídeo, y puede combinarlos en función de la conexión de Internet del usuario, ofreciendo así siempre la mejor fluided a la hora de ver vídeos en la plataforma.

    Sin embargo, YouTube sí que tiene algunos archivos donde el vídeo y el audio están juntos, es el llamado progressive stream.

    Esta primera parte del programa permite la descarga de los vídeos de YouTube en los siguientes formatos mediante los siguientes pasos:

    1. Introducción del enlace y búsqueda del elemento.
    2. Muestra de los datos para confirmar que el URL introducido es el deseado.
    3. Elección del tipo de elemento que quiere descargarse (vídeo, audio o vídeo + audio)
    4. Elección del stream deseado para descargar.
    5. Selección de la ubicación de descarga (por defecto, la carpeta ‘Descargas’ del dispositivo).
    6. Selección del nombre del archivo (por defecto, el título del vídeo’).

    Este «youtube_downloader» está basado en la librería pytube (https://pytube.io/en/latest/), aunque debido a un error en la última versión de dicha librería que impide la descarga se está utilizando pytubefix (https://pytubefix.readthedocs.io/en/latest/) hasta que la original vuelva a funcionar.

    El código de la aplicación está disponible en GitHub.

    Si alguien quiere colaborar en el proyecto programando, probando el código y reportando los posibles fallos o sugiriendo futuras características, estaré encantado de recibir la ayuda. Solo debes ponerte en contacto conmigo a través de mis redes sociales, publicando algo en el repositorio o a través de email a la dirección [email protected].

    Muchas gracias y hasta la próxima, ¡73s de Juanchi EA1FSC!