UC Grabber! A simple tool to batch download files from Canvas/ilykei

Sumit Kumar Arora
4 min readJan 25, 2018

--

Dear Fellow UoC Student,

Hope you’re doing well!

I just want to share a software that I wrote in last few days, to automate some routine and mundane tasks. I think it might be useful for all of us who use Canvas and/or ilykei.com portal.

The Problem

The problem that I wanted to solve was very simple, both of these websites require students to take some unnecessary steps to download files. For example, to download the lecture materials for a certain week’s module, one has to click on each link and open all the files in their respective tabs and then click the download link for each file.

Similarly, for ilykei.com, a user has to go through each link to download course material.

Also, as per the default behavior, single click on .html workshop documents opens them in a new tab. And also, the downloaded files retain the ASCII URL encoding characters.

The file that I downloaded in above screenshot, was downloaded with name “documents%2FMScA Linear and Non-Linear Models 31010%2FMScA 31010 Lecture 3%2FWeek3_Homework_Project_Data.csv”, while the corresponding name for the file in demo is “Week3_Homework_Project_Data.csv

So, to be able to easily download content from Canvas and/or ilykei.com, I developed an application that can be installed in our browser. Its purpose is to provide easy, one-click workarounds to the above problems that I mentioned. This application can be installed as a chrome extension from the official Google Chrome Web Store.

How to use this extension?

Say for example, if I want to download the course material for Data Mining class, I would go the data mining module page on Canvas, and then click on the extension icon next to the address bar, then click the Process button.

Parsing might take a few seconds, depending upon the number of modules/files on the page.

In a few seconds, you should be able to see a list of buttons, clicking on a button would download all the available files for the corresponding module. The downloads are organized in directories named according to the module.

Here are the complete steps:

On ilykei.com, if you navigate to a lecture page and click on the Process button, the extension will put two download links on the lecture page itself.

Before
After

Clicking on the first link would download all the documents in the lecture material. And clicking on the second link would download all the documents in the sidebar. See this in action below:

Link?/How to install this extension?

1. Make sure you are using Google Chrome

2. Go to this URL: https://chrome.google.com/webstore/detail/uc-grabber/dimmeocemhglaadjicpnogdadmkkgpln

3. Click “Add To Chrome”

4. You’re set! :)

Tl;dr?

Download this extension https://chrome.google.com/webstore/detail/uc-grabber/dimmeocemhglaadjicpnogdadmkkgpln. It makes it easy to batch download documents from Canvas/ilykei.com

The complete code for this project is available on my GitHub. I tried my best to handle all the possible corner cases, but if you still find a bug, please let me know. And I would appreciate if you also let your uChicago friends know about this extension.

Thank you. And I hope this extension is helpful for you! :)

--

--

Sumit Kumar Arora
Sumit Kumar Arora

Written by Sumit Kumar Arora

Senior Machine Learning Engineer at Meta. Checkout my blog: https://blog.reachsumit.com/

Responses (1)