icsd-scraper
v2.2.0
Published
A Node.js module to scrap the icsd site and retrieve details about professors and courses.
Downloads
14
Readme
icsd-scraper
Simple Description
A Node.js package that scraps the ICSD site and retrieve details about courses and professors. This package is very useful for thesis work or other academic projects.
Prefer Python?
My old fella from university CheatModeOn has made the same module written in python. Check here.
Usage
Install
First install the package using npm:
npm install --save icsd-scraper
Then, require the package and use it like so:
const icsdScraper = require('icsd-scraper');
var allProfessors = icsdScraper.getProfessors();
var basicCoursesInfo = icsdScraper.getBasicCourses();
var advancedCoursesInfo = icsdScraper.getAdvancedCourses();
allProfessors.then(function (results) {
console.log("allProfessors", results);
})
basicCoursesInfo.then(function (results) {
console.log("basicCoursesInfo", results);
})
advancedCoursesInfo.then(function (results) {
console.log("advancedCoursesInfo", results);
})
Functions Documentation
getProfessors
Returns all professors as an array of objects with the below details:
- name
- academicRank
- link
- office
- tel
- website
- image
getBasicCourses
Returns all courses as an array of objects with the below details:
- title
- code
- semester
- ects
- theoryHours
- labHours
- professor
- link
getAdvancedCourses
Returns all courses as an array of objects with the below details:
- title
- code
- semester
- ects
- theoryHours
- labHours
- professor
- link
- courseWebsite
- contentOutline
- learningOutcomes
- prerequisites
- basicTextbooks
- additionalReferences
- teachingMethod
- grandingMethod
- languageOfInstruction
- modeOfDelivery
⚠️Ιmportant: getAdvancedCourses
doesn't always work properly due to lack of consistency of ICSD site. So it's better to use the getBasicCourses
to retrieve basic course informations and then if you want more, use getAdvancedCourseDetails(url)
to see the differences.
getAdvancedCourseDetails(url)
Insert as argument the link of the course (from getBasicCourses
use the value of the key with the name link):
Returns an object with the same details as the getAdvancedCourses
.
License
GNU GPLv3