Exporte les informations de vos playlists Spotify vers des fichiers JSON pour sauvegarde, analyse ou migration.
my_spotify_playlists_downloader.py est un script Python en ligne de commande conçu pour vous aider à exporter et
sauvegarder vos playlists Spotify. Il se connecte à votre compte Spotify via OAuth et récupère toutes vos playlists
ainsi que les métadonnées détaillées de chaque piste. Vous pouvez exporter vos playlists sous forme d'un seul fichier
JSON consolidé ou de fichiers JSON individuels par playlist.
Ce script est idéal pour :
- Sauvegarder les données de votre bibliothèque musicale.
- Préparer une migration vers un autre service musical.
- Analyser vos playlists à des fins personnelles ou de recherche.
- Apprendre à intégrer la Web API de Spotify avec Python.
Ce projet est publié sous licence MIT et destiné à un usage éducatif et personnel.
- Exporte toutes les playlists et métadonnées des pistes, y compris nom, artistes, album, date de sortie, etc.
- Exporte les titres aimés (collection des pistes sauvegardées).
- Option pour diviser l'export en fichiers JSON individuels par playlist.
- Combinaisons flexibles d'export (titres aimés et/ou playlists).
- Génération de rapport HTML avec design moderne et responsive affichant statistiques et chemins des fichiers.
- Inclut la position de la piste dans la playlist, l'utilisateur qui l'a ajoutée et la date d'ajout.
- Logging à la fois dans la console et dans un fichier pour la traçabilité.
- Portable – fonctionne sous Windows, macOS et Linux.
- Configuration simple avec des dépendances minimales.
Suivez ces étapes pour configurer et utiliser l'outil. Ne vous inquiétez pas si vous n'êtes pas familier avec la programmation – je vais vous guider à travers tout.
Tout d'abord, assurez-vous d'avoir Python installé sur votre ordinateur.
Vérifier si Python est installé:
Ouvrez votre terminal (Invite de commandes sur Windows, Terminal sur Mac/Linux) et tapez:
python --versionVous devriez voir quelque chose comme Python 3.10.x ou supérieur. Si vous voyez une erreur ou une version inférieure à 3.10, vous devez installer ou mettre à jour Python:
- Télécharger Python: Visitez python.org/downloads et téléchargez Python 3.10 ou plus récent.
- Pendant l'installation: Assurez-vous de cocher la case qui dit "Add Python to PATH" (Ajouter Python au PATH).
Pour accéder à vos données Spotify, vous devez créer un compte développeur Spotify et obtenir des identifiants spéciaux (comme des clés pour accéder à votre compte).
Suivez ce guide détaillé: SPOTIFY_DEVELOPER_SETUP.md
Ce guide vous expliquera:
- Créer un compte développeur Spotify (c'est gratuit!)
- Créer une application dans le Tableau de bord Spotify
- Obtenir votre Client ID et Client Secret
- Configurer la Redirect URI
Important: Gardez votre Client ID et Client Secret à portée de main – vous en aurez besoin dans les prochaines étapes!
Sur cette page du dépôt GitHub, allez en haut et:
- Cliquez sur le bouton vert "Code"
- Sélectionnez "Download ZIP"
- Extrayez le fichier ZIP dans un dossier sur votre ordinateur (ex.
Documents/spotify-downloader)
Ouvrez votre terminal et exécutez:
git clone https://github.com/novama/my_spotify_playlists_downloader.git
cd my_spotify_playlists_downloaderLe script a besoin de quelques paquets Python supplémentaires pour fonctionner. Installons-les.
-
Ouvrez votre terminal et naviguez vers le dossier où vous avez extrait/cloné le script:
cd chemin/vers/my_spotify_playlists_downloaderRemplacez
chemin/vers/par l'emplacement réel (ex.cd Téléchargements/spotify-downloader). -
Installer les dépendances:
pip install -r requirements.txt
Attendez que l'installation se termine. Vous verrez des messages indiquant que les paquets sont en cours d'installation.
Maintenant, vous devez indiquer au script vos identifiants Spotify.
-
Trouvez le fichier
.env.exampledans le dossier du script. -
Faites une copie et renommez-la en
.env(sans la partie.example):- Windows: Clic droit sur le fichier → "Copier" → Coller → Renommer en
.env - Mac/Linux: Dans le terminal, exécutez:
cp .env.example .env
- Windows: Clic droit sur le fichier → "Copier" → Coller → Renommer en
-
Ouvrez le fichier
.envavec un éditeur de texte (Bloc-notes sur Windows, TextEdit sur Mac, ou n'importe quel éditeur de code). -
Remplissez vos identifiants de l'Étape 2:
SPOTIFY_CLIENT_ID=votre_client_id_ici SPOTIFY_CLIENT_SECRET=votre_client_secret_ici SPOTIFY_REDIRECT_URI=http://127.0.0.1:8000/callback
Remplacez
votre_client_id_icietvotre_client_secret_icipar les valeurs réelles de votre Tableau de bord Développeur Spotify.Important: La
SPOTIFY_REDIRECT_URIdoit correspondre exactement à ce que vous avez configuré dans les paramètres de votre application Spotify! -
Paramètres optionnels (vous pouvez les laisser par défaut ou les personnaliser):
OUTPUT_DIR=./output LOG_LEVEL=INFO
-
Sauvegardez le fichier et fermez-le.
Maintenant, vous êtes prêt à exporter vos playlists. Voici quelques scénarios courants:
Exportez toutes vos playlists dans un seul fichier JSON:
python my_spotify_playlists_downloader.pyCe qui se passe:
- Une fenêtre de navigateur s'ouvrira vous demandant de vous connecter à Spotify (seulement la première fois)
- Après avoir autorisé l'application, vos playlists seront exportées
- Les fichiers seront sauvegardés dans le dossier
output(ou là où vous l'avez spécifié dans.env)
Exportez toutes les playlists ET les titres aimés, avec un beau rapport HTML:
python my_spotify_playlists_downloader.py --all_playlists --liked_songs --html_reportCe que vous obtenez:
- Toutes vos playlists exportées sous forme de fichiers JSON
- Vos titres aimés exportés dans un fichier JSON séparé
- Un beau rapport HTML que vous pouvez ouvrir dans votre navigateur avec des statistiques et des emplacements de fichiers
Gardez chaque playlist dans son propre fichier:
python my_spotify_playlists_downloader.py --splitExportez seulement vos pistes sauvegardées:
python my_spotify_playlists_downloader.py --liked_songsExportez seulement une playlist par nom:
python my_spotify_playlists_downloader.py --playlist_name "Ma Playlist Préférée"Remplacez "Ma Playlist Préférée" par le nom réel de votre playlist.
Supprimez les anciens exports avant d'en créer de nouveaux:
python my_spotify_playlists_downloader.py --clean_output --all_playlists --html_reportExportez tout avec toutes les fonctionnalités activées:
python my_spotify_playlists_downloader.py --split --all_playlists --liked_songs --html_report --clean_outputCela va:
- Supprimer les anciens fichiers d'export (départ propre)
- Exporter chaque playlist comme un fichier JSON séparé
- Exporter vos titres aimés
- Générer un beau rapport HTML
- Vous montrer exactement où tout a été sauvegardé
Voici ce que fait chaque option:
| Option | Ce Qu'elle Fait |
|---|---|
--split |
Crée des fichiers JSON séparés pour chaque playlist (au lieu d'un gros fichier) |
--liked_songs |
Exporte votre collection de titres aimés/sauvegardés |
--all_playlists |
Exporte toutes les playlists (utilisez avec --liked_songs pour tout exporter) |
--html_report |
Crée un beau rapport HTML avec statistiques et emplacements des fichiers |
--clean_output |
Supprime les anciens fichiers JSON et HTML avant d'exporter les nouveaux |
--playlist_name "Nom" |
Exporte seulement la playlist avec ce nom spécifique |
--output_dir ./dossier |
Sauvegarde les fichiers dans un dossier spécifique |
Conseil: Vous pouvez combiner plusieurs options, ajoutez-les simplement les unes après les autres, séparées par des espaces.
- Les noms de playlists utilisés comme noms de fichiers sont assainis: les caractères invalides et les emojis sont supprimés, mais les accents et la casse d'origine sont conservés.
- Lors de l'utilisation de
--playlist_name, le script journalise le filtre normalisé et le nombre de playlists à exporter. - Lors de l'utilisation de
--clean_output, le script journalise chaque fichier supprimé (JSON et HTML) et confirme le nettoyage du répertoire. - Le comportement par défaut exporte uniquement les playlists. Utilisez
--liked_songspour les titres aimés ou--all_playlistspour les deux. - Vous pouvez utiliser
--liked_songset--playlist_nameensemble pour exporter une playlist spécifique avec vos titres aimés. - Le rapport HTML (
--html_report) inclut les chemins des fichiers pour chaque playlist exportée et pour les titres aimés.
Chaque objet playlist exporté comprend:
- Nom de la playlist, ID, nom affiché et username du propriétaire, description, snapshot_id
- Liste des pistes avec:
- Position dans la playlist
- Nom de la piste, artistes, album, date de sortie de l'album
- URL Spotify
- Date d'ajout à la playlist et utilisateur l'ayant ajoutée
Ce script est fourni uniquement à des fins éducatives. Utilisez-le de manière responsable avec votre propre compte Spotify. L'auteur n'assume aucune responsabilité en cas de mauvaise utilisation ou de perte de données résultant de son utilisation. Le code est propre et exempt de composants malveillants.
Spotify est une marque déposée de Spotify AB. Ce projet n'est ni affilié, ni sponsorisé, ni approuvé par Spotify de quelque manière que ce soit. Toutes les références à Spotify sont faites uniquement à titre informatif et éducatif.
Les captures d'écran ou images utilisées dans cette documentation sont uniquement à des fins d'illustration pour aider les utilisateurs à configurer leur compte développeur et n'impliquent aucune association avec Spotify AB.
Ce projet est sous licence Licence MIT.