https://github.com/realshaunoneill/elitemoodlescraper
A modern and simple to use object orientated moodle scraper
https://github.com/realshaunoneill/elitemoodlescraper
module moodle npm scraper web
Last synced: about 2 months ago
JSON representation
A modern and simple to use object orientated moodle scraper
- Host: GitHub
- URL: https://github.com/realshaunoneill/elitemoodlescraper
- Owner: realshaunoneill
- Created: 2018-04-04T02:20:36.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-09-21T12:51:44.000Z (almost 8 years ago)
- Last Synced: 2024-12-20T09:38:33.844Z (over 1 year ago)
- Topics: module, moodle, npm, scraper, web
- Language: JavaScript
- Homepage: https://realshaunoneill.github.io/EliteMoodleScraper/
- Size: 279 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Elite Moodle Scraper
A modern and simple to use object orientated moodle scraper
## Features
- Easily scrape data from multiple moodle accounts.
- Fetch user info
- Fetch modules
- Fetch grades
- Fetch upcoming calender
- Fetch blog posts
- Fetch previous sessions
- Stores data in object cache.
- After logging in, the login token is stored for future requests.
- A fake user agent is used in order to help stay undetected.
- Works with user accounts on different moodle websites at the same time!
## Installation
```javascript
npm install --save elite-moodle-scraper
```
### Example
```javascript
const MoodleUser = require('elite-moodle-scraper').MoodleUser;
const user = new MoodleUser('USERNAME', 'SUPER_SECRET_PASSWORD', 'BASE_MOODLE_URL');
user.login(async loggedIn => {
await user.fetchUserInfo();
});
```
## Contributing
Before creating an issue, please ensure that the problem hasn't already been reported/suggested, and double-check the
[documentation](https://xelitexirish.github.io/EliteMoodleScraper/) to make sure it is actually an issue!
If you wish to contribute to the codebase or docs, feel free to fork the repository, make what ever changes
you want and then submit a pull request. Make sure to include a description of whatever you change!
