Scrape data from Moodle sites
npm install moodle-scrape

Easily scrape data from Moodle sites. Tested on Moodle v3.8.
- [x] user info
- [x] courses
- [x] tasks/deadlines/events
- [ ] course files/resources (#1)
``sh`
npm install moodle-scrape
`js`
const { Moodle } = require("moodle-scrape"); // CommonJS
// or
import { Moodle } from "moodle-scrape"; // ESM
`js
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:
`js
await moodle.login("username", "password");
const res = await fetch("https://examplesite.com", {
headers: { cookie: moodle.cookies },
});
// ...
``