The YouTube Playlist Downloader is a command-line tool that allows users to download all videos from a YouTube playlist. The program also saves metadata for each video, such as the title, description, views, length, rating, author, and publish date.
The program creates a directory for the playlist and stores all downloaded videos and their respective metadata files in that directory.
- Downloads all videos from a specified YouTube playlist.
- Saves metadata for each video in a text file.
- Automatically creates a directory named after the playlist ID or the current timestamp if the ID is not available.
- Handles errors gracefully and provides informative messages to the user.
- Make sure you have Python installed on your system.
You can run the program by executing the provided executable file created with PyInstaller. Follow the steps below:
Download the executable file from the repository or wherever it is hosted.
Navigate to the directory where the executable file is located.
Execute the program by entering the following command: ./youtube_playlist_downloader
When prompted, enter the URL of the YouTube playlist you want to download.
$ ./youtube_playlist_downloader Please enter the YouTube playlist URL: https://www.youtube.com/playlist?list=PLw-VjHDlEOgtEcnB7LzHjlLg1o8klXvVD Directory 'PLw-VjHDlEOgtEcnB7LzHjlLg1o8klXvVD' created. Downloading: Video 1 Title Downloaded: Video 1 Title Metadata saved for: Video 1 Title Downloading: Video 2 Title Downloaded: Video 2 Title Metadata saved for: Video 2 Title ... Task Completed!!!
The program includes error handling for various scenarios, such as:
- Invalid playlist URL
- Issues during the download process
- General unexpected errors If an error occurs, a message will be displayed in red, and the program will attempt to continue downloading the remaining videos.
Contributions are welcome! If you have any suggestions or improvements, feel free to create an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
- Colorama for colorful terminal text.