You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is just a fun personal project I made to test FastAPI. It's not affiliated with the University of Alberta.
Inspired by UWaterloo's API (https://openapi.data.uwaterloo.ca/api-docs/index.html), I made a somewhat similar API for U of Alberta. I couldn't get as many endpoints as UWaterloo's because I don't have access to UAlberta's databases so I've scraped what was available online.
I've tried to balance the over-fetching and under-fetching of data by allowing user to query based on different variables in their endpoints. To keep it simple, I have used a JSON file to store the scraped data. Getting what you need from the scraped data should be as simple as calling keys from a dictionary.
There were over 10k pages to scrap so if you're going to run scraper.py it's going to take a while if DELAY_TIME is not changed. I suggest not to change it to avoid hitting U of A's servers too much.
Data
20 Faculties
315 Subjects
10114 Courses
Screenshots
Installation
Install locally
git clone https://github.com/abenezerBelachew/unofficial-ualberta-api.git
cd unofficial-ualberta-api
pipenv install -r requirements.txt
pipenv shell
python3 scraper.py # Not necessary if you want to use the already scraped data in the data folder.
uvicorn main:app --reload or python main.py