Skip to content

Instantly share code, notes, and snippets.

@ulybu
Last active March 21, 2021 09:04
Show Gist options
  • Save ulybu/fb6b47a6eaa4d3c9cca8fe55aad11530 to your computer and use it in GitHub Desktop.
Save ulybu/fb6b47a6eaa4d3c9cca8fe55aad11530 to your computer and use it in GitHub Desktop.
export a deezer plylist to csv

This script will export in csb format a deezer playlist

  1. juste avant de cliquer sur une playlist..
  2. click droit ni'omporte ou sur une page deezer > "inspecter element". Cela va ouvrir les outils developper.
  3. toujours sur kes outils developpeur aller sur l'onglet console
  4. copier le contenu du fichier exportDeezerPlaylist.js et coller le dans les outils developpeurs > appuyer sur entree
  5. toujours dans les outils developper aller a l'onglet "Reseau"
  6. dans la barre d'outils cliquer le filtre (sorte d'entonnoir) et selectionner HRX
  7. toujours dans les outils developper effacer les appels existant avec le bouton "effacer" (a droite du bouton rouge)
  8. revenez a Deezer et cliquer sur la playlist de votre choix
  9. revenir aux outils developper et regarder la nouvelle entree dans la list "gw-light..." > clique droit > copier la reponse
  10. revenir sur l'onglet console et taper emp( > coller votre presse papier (ctrl + v) > rajouter une parenthese fermante ) > valider avec la toucher Entree
  11. le ficher csv se telecharge
function json2csv(data, header) {
if(header) {
data.unshift(header);
}
return data.map(function(e) {
for(var i=0; i<e.length; i++) {
if(~e[i].indexOf(',')) {
e[i] = '"' + e[i] + '"';
}
}
return e.join(',');
}).join('\n');
}
function extractData(pay) {
var arr = pay[0].results.SONGS.data;
return arr.map(function(e) {
return [e.SNG_TITLE, e.ART_NAME, e.ALB_TITLE];
});
}
var textFile = null;
function makeTextFile(text) {
var data = new Blob([text], {type: 'text/csv'});
// If we are replacing a previously generated file we need to
// manually revoke the object URL to avoid memory leaks.
if (textFile !== null) {
window.URL.revokeObjectURL(textFile);
}
textFile = window.URL.createObjectURL(data);
return textFile;
};
function createDlButton() {
var a = document.createElement('a');
a.setAttribute('target', '_blank')
return a
}
var link = createDlButton();
link.addEventListener('click', function(event) {
event.currentTarget.href = makeTextFile(dataReady);
event.currentTarget.style.display = 'block';
})
function emp(data) {
dataReady = json2csv(extractData(data), ['Titre', 'Artiste', 'Album']);
link.dispatchEvent(new Event('click', {bubble:true, bubbles:true}))
}
@bettachini
Copy link

J'ai obtenu par réponse Uncaught TypeError: pay[0] is undefined

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment