Skip to content
Get valuable information from icsd site http://www.icsd.aegean.gr/icsd/
JavaScript
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
courses removing args Dec 25, 2019
professors email fixed again for some cases Jan 6, 2020
.eslintrc.js eslint added Dec 24, 2019
.gitignore Code quality improved Dec 24, 2019
README.md readme update Dec 28, 2019
index.js
package-lock.json
package.json package version updated to 2.1.1 Jan 6, 2020

README.md

icsd-scraper

NPM

Codacy Badge npm version GitHub version License: GPL v3

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
  • email
  • 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

You can’t perform that action at this time.