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.
- You'll need Node and Yarn
- Clone the repo and
cd
into the cloned directory - Run
yarn
to install dependencies
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
- 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!