/blackboard-downloader

Quickly download content from a UON Blackboard course for offline study or archival.

Primary LanguageJavaScript

Blackboard Course Downloader

This tool downloads files and attachments from the Course Outline, Course Materials and Assessment pages in a Blackboard course, neatly organized into folders like they are on Blackboard. It will also download lecture videos from UONCapture (Panopto).

Because ain't nobody got time for that manual download.

Get the ish

  • You'll need Node and Yarn
  • Clone the repo and cd into the cloned directory
  • Run yarn to install dependencies

Prep the ish

Since Blackboard doesn't have a (sane) API, we do some manual scraping. For that we need to authenticate. And for that we need to impersonate a browser with some login cookies (mmmmm yum):

  • Open Chrome and sign in to Blackboard
  • Go to the Course Materials page for the course to download
  • Open the DevTools - Ctrl/Cmd+Shift+I - and go to the Network tab
  • Refresh the page
  • In the Network tab, find the request for the Course Materials page, right-click and select Copy > Copy as cURL (bash). See this screenshot for reference.
  • Create a file in the repo folder called yum.txt and paste in the copied content

Run the ish

  • In the repo directory, run node archive.js to create a list of content in the course
  • After the archive data is successfully created, run node download.js to download all content. Files downloaded from a previous run will be skipped. Delete them to force a re-download.
  • Enjoy your new-found efficiency!