Skip to main content

A CLI for exporting YouTube playlists' data to local files

Project description

YouTube Playlist Exporter

Tired of videos disappearing from your YouTube playlists, without leaving you the option to know what was there before?

Fear not! For this CLI will have you covered

alt text

This CLI allows exporting data about videos in your playlist to local files, that can be used as a backup in case videos from the playlist become private/get deleted.

If the CLI runs in a directory which contains output files from a previous run (with the same parameters), it will automatically detect differences in the specified playlist, and export them to files as well.

Installation

This CLI requires Python 3.10+ to run. It is published to PyPI and can be installed with pip using:

pip install youtube-playlist-exporter

Usage

  1. Get a YouTube API Key. To do so, you can follow the instructions in this guide
  2. Retrieve the YouTube ID of the playlist you want to create a backup for. This can be done in several ways. One of them is by navigating to the playlist's main YouTube page, and copying the text after "...list=" in the URL
  3. If you didn't do so already, install the CLI (see installation)
  4. Run the CLI using either the ype or youtube-playlist-export commands (full details on the CLI syntax are provided by running with the --help flag)
  5. Several .csv files (tables which can be opened with Excel/imported to Google Sheets etc.) will be generated by the script in the output directory (<PLAYLIST_NAME> will be replaced with the name provided as an argument to the CLI):
    • YouTube-<PLAYLIST_NAME>-items.csv: contains the current details of all the videos in the playlist
    • YouTube-<PLAYLIST_NAME>-items-backup.csv: if an ...items.csv file existed in the output directory before running the script, this file will be a backup for it (in case something went wrong with running the script etc.)
    • YouTube-<PLAYLIST_NAME>-diff.csv: if an ...items.csv file existed in the output directory before running the script, this file will contain information about videos whose title changed. This can help detect videos that now appear as private or deleted, or any other unexpected changes
    • YouTube-<PLAYLIST_NAME>-diff-backup.csv: if a ...diff.csv file existed in the output directory before running the script, this file will contain a backup for it
    • YouTube-<PLAYLIST_NAME>-missing-videos.csv: if an ...items.csv file existed in the output directory before running the script, this file will contain information about videos that existed before and now don't exist in the playlist anymore. Note: sometimes deleted videos will still appear but just with a title change of "deleted video", and sometimes they will go missing completely and appear in this file
    • YouTube-<PLAYLIST_NAME>-missing-videos-backup.csv: if a ...missing-videos.csv file existed in the output directory before running the script, this file will contain a backup for it

TODOs

  1. Add additional backup mechanisms? GIT backup?

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

youtube_playlist_exporter-0.2.0.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

youtube_playlist_exporter-0.2.0-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file youtube_playlist_exporter-0.2.0.tar.gz.

File metadata

File hashes

Hashes for youtube_playlist_exporter-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6381acde67f0c0f6c717a90037198d079f7c479165e957c0186c4ccb3028ad23
MD5 1be8ababd843ba945c7780d85de2f2e8
BLAKE2b-256 c34ced982081b0b035542942d0417bec0c5317734d40065217f8b65383080ef5

See more details on using hashes here.

File details

Details for the file youtube_playlist_exporter-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for youtube_playlist_exporter-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3aa12c96bbc8373c2cfab467e19ddf18750b50200e9c2c9dae9f4072da614969
MD5 ecd4fcd8dad0ebfc964d3e54cb2a290f
BLAKE2b-256 bb12a4f22df37d99aac0c21125b80ae4d3260754577cec84a2f798b9ae686540

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page