Home
Softono
moodle-scrape

moodle-scrape

Open source MIT TypeScript
15
Stars
2
Forks
2
Issues
2
Watchers
2 years
Last Commit

About moodle-scrape

Easily scrape data from Moodle LMS sites

Platforms

Web Self-hosted

Languages

TypeScript

moodle-scrape

NPM
Docs
Easily scrape data from Moodle sites. Tested on Moodle v3.8.

Features:

  • [x] user info
  • [x] courses
  • [x] tasks/deadlines/events
  • [ ] course files/resources (#1)

Installation

npm install moodle-scrape
const { Moodle } = require("moodle-scrape"); // CommonJS
// or
import { Moodle } from "moodle-scrape"; // ESM

Usage

const moodle = new Moodle(fetch, "https://examplesite.com");

await moodle.login("supercoolusername", "superCoolpassword123");
// returns true if login was successful

console.log(moodle.user.name); // string
console.log(moodle.courses); // array of course objects
console.log(moodle.tasks); // array of task objects

or view the example CommonJS script

Scraping manually

After calling .login(), the cookies property gets filled with a string containing your cookies which you can pass to your own fetch method. For example:

await moodle.login("username", "password");

const res = await fetch("https://examplesite.com", {
  headers: { cookie: moodle.cookies },
});
// ...