Playlist Grabber and Downloader is a two-part tool designed to extract song information from platforms like YouTube Music and SoundCloud and download the extracted songs as MP3 files using YouTube.
This tool is intended for educational purposes only. It demonstrates how to use browser scripting and Python automation to collect and process song data. Users must ensure they comply with local copyright laws and the terms of service of the platforms they interact with. The authors are not responsible for any misuse of this tool.
- A JavaScript script that extracts song titles and artists from:
- YouTube Music
- SoundCloud
- Saves the extracted data into a CSV file (
playlist_songs.csv
). - Designed to be run in the browser console (via Developer Tools).
- A Python script that:
- Reads the CSV file created by
playlist_graber.js
. - Downloads the songs in MP3 format from YouTube using yt-dlp.
- Saves the MP3 files in a
downloads
folder.
- Reads the CSV file created by
- Open YouTube Music or SoundCloud in your browser.
- Open the browser's Developer Tools (F12 or right-click > Inspect).
- Copy and paste the content of
playlist_graber.js
into the console and press Enter. - A CSV file (
playlist_songs.csv
) will be downloaded automatically.
- Place the downloaded
playlist_songs.csv
file in the same directory asplaylist_download.py
. - Install the required Python libraries:
pip install yt-dlp
- Run the Python script:
python playlist_download.py
- The songs will be downloaded as MP3 files into a
downloads
folder.
This project is for educational purposes only. Use it responsibly and ensure you respect the terms of service of the platforms involved. The authors do not condone or support copyright infringement or the unauthorized distribution of copyrighted material.
- A Chromium-based browser (e.g., Google Chrome, Microsoft Edge).
- Python 3.6+ installed.
- yt-dlp Python library.
Contributions, bug reports, and feature requests are welcome! Feel free to open an issue or submit a pull request.
If you find this project helpful, consider giving it a ⭐ on GitHub!