Install NodeJS +19, make sure you can run it from a terminal, e.g. CMD.EXE, or Bash/ZSH on Linux/macOS.
Then run
node scraper.js
This will generate 3 files:
base.json, the original JSON data containing basic information for all schoolsschools.csv, the basic information for all schools transformed to CSV. Fields:type: the school type, e.g.VS,AHS, etc.skz: a seemingly unique identifierdesc: the descriptioncoords: longitude/latitude separated by a commastreet: street addresszip: ZIP codecity: town or citykeeper: whether this is a public or private schoolclasses: number of classespupils: total number of pupilsmale: number of male pupilsfemale: number of female pupils
vs-left-to.csv: Information about how many pupils from a primary school left for what other school. For each from -> to pair, there is one row with the following fields:type: "VS"skz: unique identifier for the "from" schooldesc: the description of the "from" schoolcoords: longitude/latitude separated by a comma of the "from" schoolstreet: street address of the "from" schoolzip: ZIP code of the "from" schoolcity: town or city of the "from" schoolkeeper: whether the "from" school is a public or private schoolclasses: number of classes of the "from" schoolpupils: total number of pupils of the "from" schoolmale: number of male pupils of the "from" schoolfemale: number of female pupils of the "from" schoollt_type: type of the "to" schoollt_skz: unique identifier of the "to" school (SKZ_LAUFENDin the original data)lt_desc: description of the "to" school (BESCHREIBUNGin the original data)lt_ipub_desc: another description of the "to" school (IPUB2_BESCHREIBUNGin the original data)lt_street: street address of the "tp" schoollt_zip: ZIP code of the "to" schoollt_city: town or city of the "to" school