codigo_facilito_downloader

Descarga automatizada de Codigo Facilito

Stars
139
Committers
3

Descarga automatizada de los cursos de Codigo Facilito con un script creado en Python utilizando yt-dlp como un subproceso.


Instalación

El script utiliza Playwright & Firefox & ffmpeg, así que asegúrate de tener instalados previamente en tu ordenador.

Linux

En Ubuntu:

# Actualiza los repositorios
sudo apt update -y
# Instalar firefox, ffmpeg, git y pipx
sudo apt install firefox ffmpeg git pipx -y
# Agregar pipx al PATH
pipx ensurepath

En Archlinux:

# Actualiza los repositorios
sudo pacman -Syu
# Instalar firefox, ffmpeg, git y pipx
sudo pacman -S firefox ffmpeg git python-pipx
# Agregar pipx al PATH
pipx ensurepath

Windows

[!IMPORTANT] Los pasos que se muestran, son a través del gestor de paquetes para Windows (Scoop) -> (Ver Tutorial). También puedes instalar las dependencias de la forma tradicional, descargando uno a uno los instaladores. Pero la forma mas fácil y recomendada es usar el gestor de paquetes.

# Agrega repositorios
scoop bucket add main
scoop bucket add extras
# Instalar Python
scoop install main/python
# Instalar Firefox
scoop install extras/firefox
# Instalar ffmpeg
scoop install main/ffmpeg
# Instalar git
scoop install main/git
# Instalar pipx
scoop install main/pipx
# Agrega pipx al PATH
pipx ensurepath

MacOS

# Actualiza los repositorios
brew update
# Instalar firefox, ffmpeg, git y pipx
brew install firefox ffmpeg git pipx
# Agregar pipx al PATH
pipx ensurepath

Instrucciones

  1. Clona el repositorio
# Clone el repositorio
git clone https://github.com/ivansaul/codigo_facilito_downloader.git
# Ir al directorio
cd codigo_facilito_downloader
  1. Instala sus dependencias y activa el entorno virtual
# Instala poetry
pipx install poetry
# Activa el entorno virtual
poetry shell
# Instala las dependencias
poetry install
# Instalar playwright dependencies
playwright install-deps
playwright install firefox
  1. Iniciar sesión a través de la consola con tus credenciales de Codigo Facilito.
$ python coco.py login

What's your email?: [email protected]
Confirm your email?: [email protected]
What's your password?: facilito123
Confirm your password?: facilito123
  1. Descarga un video o un curso
$ python coco.py download

Url: https://codigofacilito.com/cursos/flutter-profesional
Quality (best, 1080, 720, 480, 360, worst) [best]: best
⠹ Processing...
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Curso profesional de Flutter ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
└──────────────────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┓
┃ Sections                                  ┃ Videos ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━┩
│ 1. Introducción                           │ 9      │
│ 2. Widgets Básicos                        │ 11     │
│ 3. Navegación                             │ 5      │
│ 4. Multi-child                            │ 4      │
│ 5. Listview, gridview, ítems y utilidades │ 10     │
│ 6. Formulario                             │ 8      │
│ 7. Menús                                  │ 4      │
│ Diseño                                    │ 5      │
└───────────────────────────────────────────┴────────┘
Would you like to download? [y/N]: y
⠹ Downloading...
✓ Done!
$ python coco.py download

Url: https://codigofacilito.com/videos/icon
Quality (best, 1080, 720, 480, 360, worst) [best]: 480
⠹ Processing...
⠹ Downloading...
⠹ Icon  ...
✓ Done!

[!IMPORTANT] Por defecto, el script descarga los videos con la mejor calidad disponible(best), pero puedes elegir entre [worst, 360, 480, 720, 1080 o best].

[!IMPORTANT] Revisa los logs(cli.log) de la consola para ver un registro de los videos que por algún motivo no se pudieron descargar.

[!TIP] Si por algún motivo se cancela la descarga. Puedes retomarlo con el comando python coco.py download

[!IMPORTANT] Para que el script funcione correctamente, recuerda siempre tener una copia exacta y actualizada del repositorio remoto..

  1. git checkout master
  2. git fetch origin
  3. git reset --hard origin/master

Contribuidores

Aviso de Uso

Este proyecto se realiza con fines exclusivamente educativos y de aprendizaje. El código proporcionado se ofrece "tal cual" sin ninguna garantía de su funcionamiento o idoneidad para ningún propósito específico.

No me hago responsable por cualquier mal uso, daño o consecuencia que pueda surgir del uso de este proyecto. Es responsabilidad del usuario utilizarlo de manera adecuada y dentro de los límites legales y éticos.

Descubre Más

Aquí tienes una lista de algunos de mis otros repositorios. ¡Échales un vistazo!