Overview
My peers and I wanted our university timetables in Google Calendar rather than having to check the university portal every time. I built a scraper that logs in, extracts all timetable data, and outputs a CSV you can import directly.
Why CSV Instead of Direct API Integration?
I originally planned to push events directly to Google Calendar via the API, but that would require storing OAuth tokens. Using a CSV instead keeps things simple:
- No API keys required from the user
- No passwords stored longer than the session
- The output is portable — works with Apple Calendar, Outlook, and anything else that accepts
.ics/.csvimports
Security tip: Delete your credentials from the config file after each use.
What It Captures
- Module code and full name
- Lecture/tutorial/lab type
- Date, start time, and end time
- Room and building location
Apple Calendar Support
Apple Calendar support has been added, though I can’t personally test it (no Mac). Feedback welcome if you try it!
Tech Stack
Python · Playwright
Open source — free for anyone at the University of Liverpool to use.