DEV Community

Cover image for CourseTime Analyzer: Python + Selenium + GUI Project for Tracking YouTube Course Time
Saami abbas Khan
Saami abbas Khan

Posted on

CourseTime Analyzer: Python + Selenium + GUI Project for Tracking YouTube Course Time

Ever wondered how long it will take to finish that YouTube course playlist you just found? Instead of manually checking each video, I built a small Python project called CourseTime Analyzer πŸš€.

This tool automatically searches YouTube for a course playlist, fetches all video durations, and calculates the total study time β€” all packed in a simple Tkinter GUI.


πŸ”₯ Why I Built This

Whenever I started a YouTube course, I always wanted to know β€œHow much total time will this take?” Sure, YouTube shows individual durations, but for playlists with 50+ videos, calculating by hand is painful.

So I automated it with Python + Selenium and wrapped it in a clean GUI using Tkinter.

πŸ‘‰ To be honest, this was a time-pass project. I wasn’t in the mood to continue my actual work (learning more about Softmax Regression πŸ˜…), so I coded this as a fun escape.


βš™οΈ Features

  • πŸ” Search YouTube for any course playlist
  • πŸ“Ί Fetch playlist title and creator details
  • ⏱️ Calculate total video duration in hours
  • πŸŽ₯ Show video count and display durations (first 15 listed, rest summarized)
  • πŸ”— Clickable playlist link directly inside GUI
  • πŸ–ΌοΈ Clean interface with background image
  • πŸ–₯️ Supports GUI mode (graphics.py) and CLI mode (main.py)

🧩 Modularized Approach

The project is structured to keep things clean and reusable:

  • main.py β†’ Handles the core mechanism (YouTube scraping & analysis via Selenium).
  • graphics.py β†’ A wrapper around main.py that provides a Tkinter-based GUI.

You can run main.py independently in CLI mode β€” the GUI is just an additional layer.


πŸš€ GitHub Repository

All the code is open-source and available here:

πŸ‘‰ CourseTime Analyzer on GitHub


πŸ’¬ Feedback

Comments are open! Feel free to suggest improvements, criticize the approach, or even fork the repo and make it better. This was just a fun side project, so I’d love to see how others take it further. πŸš€


Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.