https://github.com/alpha-drm/fs-downloader
Herramienta CLI que permite descargar cursos para acceso offline.
https://github.com/alpha-drm/fs-downloader
chrome python scraping selenium
Last synced: about 2 months ago
JSON representation
Herramienta CLI que permite descargar cursos para acceso offline.
- Host: GitHub
- URL: https://github.com/alpha-drm/fs-downloader
- Owner: alpha-drm
- License: mit
- Created: 2025-09-29T23:40:07.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-10-07T00:53:31.000Z (9 months ago)
- Last Synced: 2025-10-07T02:49:10.060Z (9 months ago)
- Topics: chrome, python, scraping, selenium
- Language: Python
- Homepage:
- Size: 6.84 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FS Downloader
Herramienta `CLI` que permite a usuarios con suscripción descargar cursos para acceso offline, facilitando el estudio desde cualquier lugar y en cualquier momento sin necesidad de conexión a Internet.
[](https://choosealicense.com/licenses/mit/)
[]()






> [!NOTE]
> Los gestores de descargas o extensiones utilizan el mismo método para descargar vídeos de una página. Esta herramienta sólo automatiza el proceso de un usuario haciendo esto manualmente en un navegador.
## Características
- No evade sistemas de protección ni accede a contenido sin autorización.
- Requiere autenticación válida del usuario.
- Interfaz de línea de comandos `CLI`.
- Automatiza la navegación web mediante Chrome.
- Descarga videos y recursos disponibles.
- Reanudación de descargas sin repetir archivos ya completados.
- Organiza el contenido de forma estructurada.
- Ideal para uso personal y educativo en modo offline.
## Requisitos
- Tener acceso a los cursos.
- [Google Chrome](https://www.google.com/intl/es_us/chrome/) (actualizado)
- [git](https://git-scm.com/) (para clonar el repositorio)
- [Python >=3.11](https://www.python.org/downloads/) (Añadirlo al PATH durante la instalación)
- [yt-dlp](https://github.com/yt-dlp/yt-dlp/)
- [ffmpeg](https://ffmpeg.org/)
- [aria2/aria2c](https://github.com/aria2/aria2/)
## Instalación
### Windows
- Crear una carpeta llamada `tools` o el nombre que quieran en en el disco `C:\`, dentro copiar los ejecutables (yt-dlp, ffmpeg, aria2c) y por último agregar la ruta de la carpeta al `PATH` del sistema.
- Opcional: copiar los ejecutables directamente en el directorio raíz del proyecto.
Estructura final: `C:\tools`
```bash
C:\tools
|── yt-dlp.exe
|── ffmpeg.exe
└── aria2c.exe
```
#### Clonar el proyecto
Desde una terminal clonar el proyecto con `GIT`, o simplemente descarga el archivo `ZIP` del repositorio
```bash
git clone https://github.com/alpha-drm/fs-downloader.git
```
Ir al directorio del proyecto
```bash
cd fs-downloader
```
#### Entorno virtual
Es recomendable crear un entorno virtual para instalar los `requirements.txt` del proyecto
```bash
python -m venv env
```
Activar el entorno virtual
```bash
env\Scripts\activate
```
#### Instalar las dependencias
```bash
pip install -r requirements.txt
```
### Cookies
> [!IMPORTANT]
> Estar logueado en la plataforma.
El script utiliza cookies para autenticación, se debe extraer del navegador usando una extensión como `Cookie-Editor`, copiarlo en formato `JSON` y guardarlo en el archivo `cookies.json` en la misma carpeta del script.
## Instrucciones de uso
```bash
python main.py
```
Ejemplos:
```bash
python main.py https://escuelafullstack.com/slides/introduccion-al-backend-de-odoo-207
```
## Posibles fallas
> [!WARNING]
> - En algunos casos es posible que se pierda la conexión con un video, por lo que se salta y continua con los siguientes archivos.
> - Si pasa eso, vuelve a ejecutar el script para retomar la descarga de los archivos faltantes.
> - Al finalizar la descarga de un curso es posible que los procesos de chrome no se hayan cerrado correctamente, es un error con el undetected-chromedriver que no he podido resolver, revisar el administrador de tareas y finalizarlos para no consumir recursos.
## Feedback
Para comentarios o reportes de errores utilizar [GitHub Issues](https://github.com/alpha-drm/plz-downloader/issues)
## License
Este proyecto está bajo la Licencia MIT. Consulta el archivo [LICENSE](./LICENSE) para más detalles.
## Aviso Legal
Este proyecto tiene fines exclusivamente educativos y personales. El autor no se responsabiliza por el uso indebido de esta herramienta. El acceso y la descarga de contenidos están permitidos únicamente a usuarios con credenciales válidas y acceso legítimo a los cursos en la plataforma.
Es responsabilidad exclusiva del usuario:
- Cumplir con los Términos de Servicio y Condiciones de Uso de la plataforma.
- Respetar las leyes de derechos de autor, de propiedad intelectual y cualquier otra normativa local aplicable.
- Abstenerse de redistribuir, revender, publicar o compartir los contenidos descargados mediante este script.
- El propósito de esta herramienta es facilitar el acceso offline para usuarios autorizados, y no debe utilizarse con fines comerciales.