Easily scrape data from Moodle sites. Tested on Moodle v3.8.
npm install moodle-scrape
const { Moodle } = require("moodle-scrape"); // CommonJS
// or
import { Moodle } from "moodle-scrape"; // ESM
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
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