laurenreeder / registrar

A CoffeeScript modules that scrapes the UPenn Registrar

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

UPenn Registrar Course Scraper

A CoffeeScript module that scrapes the UPenn Registrar. Please install node and CoffeeScript.

Quick Start

To build the CoffeeScript simple run npm install && cake build

Start an interactive CoffeeScript shell with coffee

Create a scraper object

Scraper = require "./scraper"

Export all the courses and sections for each department to JSON (registrar.json)

Scraper.toJSON()

Print the list of departments

Scraper.getDepartments (depts) -> console.log depts
> [ 'ACCT',
    'AFST',
    'AFRC',
    ...
  ]

Print all the CIS courses

Scraper.getCourses "cis", (courses) ->
  console.log courses
> [ { num: '099', title: 'UGRAD RESRCH/IND STUDY', credits: '1' },
    { num: '110', title: 'INTRO TO COMP PROG', credits: '1' },
    { num: '120', title: 'PROG LANG & TECH I', credits: '1' },
    { num: '121', title: 'PROG LANG AND TECH II', credits: '1' },
    ...
  ]

Print all the CIS courses with their sections

Scraper.getSections "cis", (sections) ->
  console.log sections
> [ { dept: 'cis',
      title: 'INTRO TO COMP PROG',
      courseNumber: '110',
      credits: '1',
      sectionNumber: '001',
      type: 'LEC',
      times: 'MWF 10-11AM',
      days: [ 'monday', 'wednesday', 'friday' ],
      hours: [ '10', '11' ],
      building: 'TOWN',
      roomNumber: '100',
      prof: 'BROWN B' },
    ...
  ]

Get all the courses and sections for each department

Scraper.getDepartments (depts) ->
  for dept in depts
    Scraper.getSections dept, (sections) ->
      console.log sections

Contributors

About

A CoffeeScript modules that scrapes the UPenn Registrar


Languages

Language:CoffeeScript 100.0%