Prashant Dandriyal

Prashant Dandriyal's Blog

AI | ML | Books | Movies | Music

How to Download Udacity Nanodegree Content

Using Udacimak to download almost all the content of your Nanodegree Program

In a conflict between the heart and the brain, follow your heart. ~Vivekananda

3 minute read


The step-by-step tutorial is based on Udacimak - A Udacity Nanodegree Downloader. It allows you to download all the video and text-related content from the courses that you are enrolled in. It is a CLI-based method. I will use ubuntu-18.04 LTS for demonstration.

Note: Udacimak was inspired after Udacity announced in October 2018 that students who graduate will no longer have life-time access to the course content.


Pre-requisites:

As per the source repo, these are enough to get started but believe me, its not so simple. That’s why I wrote this.


Step 1: Install latest version of node

Open a terminal and execute

$ sudo apt update
$ sudo apt install build-essential checkinstall libssl-dev
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.35.1/install.sh | bash

Then close the terminal and reopen it.

Now, re-install nvm as

$ nvm --version
$ nvm ls
$ nvm ls-remote

The execution of last command looks somewhat like this. Note that I have installed the latest version.

Now run

$ nvm install 14.7.0

Step 2: Authenticate your Udacity login


There are 3 methods to do so, as mentioned here. I prefer the following method.

  • Visit classroom.udacity.com and log in
  • Open the Developer Tools (press Cmd + Opt + J on MacOS or F12 on Windows or Ctrl + Shift + C on ubuntu)
  • Go to Application tab, then Storage > Cookies > https://classroom.udacity.com.
  • Find _jwt key, its Value is the Udacity authentication token.

As demonstrated here:

Now run

$ udacimak settoken YOUR_LONG_TOKEN_FROM_JWT_KEY



Step 3: Download the contents as json


To get the index of your course, enter the dashboard of your Nanodegree Program

And the index can be found in the URL : https://classroom.udacity.com/nanodegrees/nd131/dashboard/overview

nd131 is the answer in my case.

Now run

$ udacimak download YOUR_INDEX #nd131 FOR ME

You will find a not-so-big file with the name of your course. You must rename it to a better name as it contains whitespaces which often cause trouble. I renamed it to course



Step 4: Install “youtube-dl”


This is perhaps the most prone issue that udacimak users get into. Install it using

$ sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
$ sudo chmod a+rx /usr/local/bin/youtube-dl
$ sudo ln -s /usr/bin/python3 /usr/local/bin/python



Step 5: Render the json files


Its time to get the actual content from YouTube and other sources.

  • Create a new directory (say render) where you wish to save the final course content.

  • Now run

$ udacimak render course --targetdir render

You should see the files (mainly youtube videos and gifs) getting downloaded smoothly. If you notice errors, its probably because you didn’t install youtube-dl.

That’s it ! Happy Learning :D

comments powered by Disqus

Recent posts

About

I like spending time with AI/ML; Alesso, Calvin Harris and Flume are some of my favourites.