Code to scrape all UIUC courses offered in all semesters from FA23 to FA04. Includes Fall, Winter, Spring, and Summer semesters. HIGHLY recommended that you use the SQLite of existing scraped data than scraping data yourself (it'll take >500 API calls, and it's not the fastest API.)
The scraped data is in offerings.db
. The SQLite table schema is:
offerings(enc_term integer, subj text, course text)
See the Python code for encoding/decoding the enc_term
field.
pip3 install -r ./requirements.txt
⚠️ python3 extract_api.py -get
: Scrape the API starting from the existing bookmark & existing scraped data.⚠️ python3 extract_api.py -f
: Scrape the API starting from scratch (nuke existing bookmark & existing scraped data.)python3 extract_api.py -json
: Export the scraped SQLite to a JSONpython3 extract_api.py
: Run demo code for how you would access an existing SQLite db of scraped data.
full_exec()
function.
See LICENSES. All licenses are MIT.