GithubHelp home page GithubHelp logo

clumsyclover / bbresque Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 0.0 238 KB

This is a project for enabling bulk-downloading of course files from Blackboard LMS. Uses Puppeteer to automate a chrome instance and Cheerio to scrape raw CDN URLs for all files to be downloaded after. Only works with Windows.

License: MIT License

JavaScript 100.00%
blackboard blackboard-learn uon nodejs universityofnewcastle

bbresque's Introduction

BBResque

Webscraper for downloading all of the contents(course-material) of a student's courses on Blackboard LMS.

The University of Newcastle (Australia) is moving from BlackBoard LMS to Canvas LMS from Semester 1, 2022.

Students have been advised to download their course material, etc. which would be very time consuming to do manually. You would have to navigate through all your folders, click on every single file (maybe twice) to download, then arrange of them into folders, etc.

Luckily, BBResque does all this for you in just a few clicks! Follow the steps below to see how.

Commands for updating, checking BBResque's version on your PC, running these every time before you run the program is recommended as we are consistently updating BBResque

  1. Commands for checking the latest available version:
npm info bbresque version
  1. Command for checking the version you currently have installed:
npm ls -g --depth=0
  1. Command for updating BBResque to the latest available version:
npm update -g

Getting Started

Dependencies

Installing

  1. Download and install the latest NodeJS (LTS) for your respective OS.
  2. Open CMD(Windows) or Terminal(MacOS/Linux).
  3. Type or copy the following command into Terminal/CMD window to install BBResque.
npm i bbresque -g

Executing program

  1. After the installation finishes, type bbresque into the Terminal/CMD window, this will run BBResque, now every time you want to run BBResque; just open up CMD/Terminal and type in bbresque.
  2. Further steps will be displayed in the terminal window.

Using the program, and its CLI

  1. This program will first open up a programatically controlled instance of Chrome, where you'll be redirected to the sign-in(AUTH) page(OKTA) for logging in to BlackBoard.
  2. After your BlackBoard homepage is opened up, navigate to the course materials page of a course, or any page where you files are located.
  3. Keeping the page open, switch over to the terminal/command line page, it will have a promt asking you if the page you want to download files from is ready, enter any charac. to continue.
  4. After this watch the progress of the program on the terminal window and the file explorer window, addresses of files which are being downloaded will appear.
  5. All of your downloaded files will be avaliable in your regular downloads folder.
  6. Once the progress of the terminal window stops printing for 4-5 mins straight, press 'Ctrl+C', and check if all the files have been downloaded and are correctly oraganized in folders.
  7. Quit the program and restart it if you want to download from another page.
  • Things to note:
    • Only use the tab in which the sign-on page is opened, do not open up a new tab by yourself.
    • If the terminal window stops printing or stops updating for a bit over 5 mins, consider that all your files have been downloaded and exit the program. To download files from another page, restart the program; follow the above steps again.
    • All your downloaded files will be available in your primary Downloads folder.

Help

  • I'm more than happy to help! I do work in the IST (Indian Standard Timezone) so I may not respond immediately.

Version History

  • 1.5.2

    • Folder arrangement improved, major bugs fixes that were the causing the program to not navigate the course material page properly.
  • 1.5.3

    • Fixed errors that were causing the program to stop because of special characters in folders names, increased timeout of loading pages to 100000ms.
  • 1.5.4

    • Updated README.md
    • Updated in-program instructions.
  • 1.5.5

    • Fixed a bug which was causing the program to crash due to incorrectly encoded file/folder paths.

License

This project is licensed under the MIT License

bbresque's People

Contributors

clumsyclover avatar dependabot[bot] avatar olaskan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.