Para este tutorial se requiere que tengas una cuenta en Frontend Masters. Puedes tener una cuenta free (para los cursos gratuitos) o suscribirte por 39USD al mes (para obtener acceso a todos los cursos).
Existe un repo en Gitlab llamado OS_FrontendMaster-dl que sirve para descargar los videos. En el mismo repositorio se describe cómo usar el paquete, pero a mi no me ha funcionado, por eso voy a mostrarte la forma en que sí me funcionó.
Requerimientos
- Python 2.7
- Google Chrome
- ChromeDriver - WebDriver for Chrome
- Descargar el siguiente repositorio https://gitlab.com/nzsakib/frontendmasters
Instalar ChromeDriver
La última versión de Chrome webdriver se puede encontrar en el siguiente enlace y la instrucción de instalación también se puede encontrar en la misma página.
https://sites.google.com/a/chromium.org/chromedriver/downloads
Para macOS puedes instalarlo de la siguiente manera sin necesidad de cambiar el PATH manualmente:
brew tap caskroom/cask
brew cask install chromedriverInstalar dependencias de Python
Ingresa a la carpeta del repositorio
cd OS_FrontendMaster-dly ejecuta:
pip install -r requirements.txt --userEl flag --user es importante, a mi no me funcionó sin eso.
Nota: Si no tienes
pipinstálalo usando esta guía para macOS https://lavaldi.com/instalar-pip-mac-os-python/ o aquí https://pip.pypa.io/en/stable/installing/
Si sale un error sobre los paquetes nose y tornado solo basta con instalarlos así
sudo easy_install nose
sudo easy_install tornadoUso
Luego solo tienes que ejecutar la siguiente línea:
python frontendmasters-dl.py --id YOUR-USERNAME --password YOUR-PASSWORD --course COURSE-IDNota: A mi no me funcionó la descarga usando los flags
--mute-audio --high-resolutionpor eso no los uso en el comando de arriba
También puedes usarlo así
python frontendmasters-dl.pyE ir llenando los datos que te pida
La ruta de descarga predeterminada es ./Download dentro del directorio del repositorio.
Así puedes ver tus cursos cuando quieras, incluso si se te venció la suscripción o finalizó la fecha para los cursos gratuitos temporales; además, sin tener internet 😉