moodle-scrape

moodle-scrape

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

Features:

  • user info
  • courses
  • 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 },
});
// ...

Generated using TypeDoc