web-dev-qa-db-fra.com

Comment exporter mes listes de lecture YouTube?

YouTube aime supprimer régulièrement les vidéos de ma liste de favoris:

warning about deleted videos

Mais ils refusent de me dire ce qu’ils étaient pour que je puisse trouver un autre exemplaire.

J'aimerais pouvoir exporter mes listes de lecture YouTube afin de pouvoir les comparer périodiquement et trouver manuellement d'autres copies des chansons supprimées.

Comment exporter mes listes de lecture (ou une liste de lecture) à partir de YouTube?

41
Ian Boyd

Autant que je sache, il n'y a pas de moyen intégré de le faire sur Youtube.

Vous pouvez bien sûr utiliser l'API Youtube pour obtenir facilement toutes vos listes de lecture au format xml à l'aide des éléments suivants:

https://gdata.youtube.com/feeds/api/users/[YOUR_USER_NAME]/playlists?v=2

Exemple: https://gdata.youtube.com/feeds/api/users/oisinorion/playlists?v=2

Ce fichier xml aura les identifiants uniques pour chacune de vos listes de lecture, que vous pourrez ensuite utiliser pour obtenir les détails de chaque liste de lecture, y compris les URL et les titres de la vidéo. L'appel d'API suivant vous donnera à nouveau un fichier XML:

https://gdata.youtube.com/feeds/api/playlists/[UNIQUE_ID]?v=2

Exemple: https://gdata.youtube.com/feeds/api/playlists/D5F03C2BE1AA3E7E?v=2

Travailler avec ces fichiers XML manuellement serait un cauchemar. Il serait préférable de créer une petite application Web (si vous connaissez un peu de programmation Web) pour extraire et présenter les informations pertinentes issues de ces fichiers XML.

Vous pouvez en savoir plus sur l'API ici: https://developers.google.com/youtube/2.0/developers_guide_protocol_playlists

17
OAC Designs

Pourquoi ne pas rendre cela plus facile?.

Allez à: http://www.williamsportwebdeveloper.com/FavBackUp.aspx

Insérez l'URL de la playlist que vous souhaitez créer au format Excel, c'est tout :)

Voici un aperçu à quoi ça ressemble. J'ai exporté ma liste de lecture de courts métrages située , désolé, pas assez de crédits pour publier 2 liens - enter image description here

Le créateur: 'Toute mon application Web utilise l’API du développeur YouTube pour obtenir les données du flux. Vous pourriez faire la même chose, mais ce serait dans un format XML compliqué et pas très lisible. Je pense que la plupart des gens préfèrent l'avoir dans un tableur Excel. Si vous ne disposez pas de Microsoft Office, vous pouvez télécharger gratuitement Open Office. '

15
user2253392

À la lumière de la désapprobation de la v2, la réponse actuelle ne fonctionne plus. v3 est la nouvelle version.

Le lien de la documentation - https://developers.google.com/youtube/v3/docs/playlistItems/list

Cela limite à seulement 50 résultats. Remplissez les champs suivants

Exemple de lien - https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&maxResults=50&pageToken=NNNNN&playlistId=PLXxxxx=key=yyyy

8
Sairam

Ce n'est pas la façon la plus élégante d'accomplir ce que vous demandez, mais voici une méthode manuelle que je venais de faire. Parce que j'utilise Powershell pour une partie de cela, je suppose que vous êtes sur une machine Windows.

Pas:

  1. Aller sur Google Takeout
  2. Sur la page Télécharger vos données, désélectionnez tout, sauf pour Youtube.
  3. Développez Youtube et sélectionnez "Sélectionner des données spécifiques" sous "Données YouTube", puis cliquez sur le bouton "Données YouTube" et sélectionnez uniquement "Listes de lecture", puis définissez le menu déroulant "Abonnements" sur "JSON", puis cliquez sur Suivant.
  4. Téléchargez vos données à emporter quand elles sont prêtes et décompressez-les où que vous soyez
  5. Ouvrez une session Powershell et exécutez les instructions ci-dessous.

En supposant que votre liste de lecture soit Favoris, vous obtiendrez un fichier Favorites.json. Disons que je veux seulement le titre de chaque vidéo de la liste de lecture et un lien vers celle-ci, dans un fichier texte appelé YoutubeFavorites.txt:

$json = ConvertFrom-Json (Get-Content .\Favorites.json -Raw)
foreach ($vid in $json) { "$($vid.snippet.Title) - Link: https://www.youtube.com/watch?v=$($vid.contentDetails.videoId)" | Out-File -FilePath .\YoutubeFavorites.txt -Append }

Voilà, profitez-en.

6
Remy Lambert

J'ai créé un service appelé www.recovermy.video pour résoudre ce problème. Voir mon réponse sur une autre question .

3
ninsky

Vous pouvez le faire avec un nouveau site que nous avons développé https://www.tunemymusic.com/

Vous pouvez choisir d'exporter sur Youtube une liste de lecture spécifique, toutes vos listes de lecture et toutes vos vidéos préférées. Ensuite, vous pouvez l'exporter pour un fichier texte libre.

En plus du fichier texte, nous travaillons maintenant à l’ajout d’options d’exportation vers les fichiers csv et m3u

3
tunemymusic

De nos jours, de nombreuses solutions font encore plus que ce que vous aviez demandé:

  • http://www.playlist-converter.net/ - Convertissez votre liste de lecture à partir de plusieurs services de musique et formats de fichiers

  • https://sourceforge.net/projects/youtubeexport/ - Ce programme est utilisé pour exporter des listes de lecture youtube en fichiers texte ou .html

  • https://soundiiz.com/ - Téléchargez des listes de lecture à partir de fichiers, d'URL Web ou de texte brut, transférez vos favoris entre toutes les plateformes de diffusion en continu, téléchargez-les dans tous les formats de fichiers courants.

Mais la solution la plus efficace et la plus élégante serait à mon avis d'utiliser simplement youtube-dl Parce qu'avec une seule commande comme (que vous pouvez facilement construire vous-même en consultant la documentation), vous pouvez télécharger TOUTES les titres de vos listes de lecture (ainsi que non seulement les titres, si vous le souhaitez .. .), en entrant comme paramètre l'URL YouTube de la page contenant toutes vos listes de lecture (par exemple, https://www.youtube.com/user/votre_nom_utilisateur/playlists ). En plus de cela, il a également la possibilité de faire des demandes authentifiées à YouTube (avec vos informations d'identification) afin qu'il puisse également télécharger vos playlists privées .

1
jj_

Vous pouvez créer un Bookmarklet dans votre navigateur afin de saisir la description de chaque vidéo de la liste, puis de toutes les imprimer dans une zone de texte.

Par exemple, ce script va créer une liste avec les URL et les noms des vidéos. Créez simplement un signet et ajoutez le script suivant à l'adresse (URL) du signet:

javascript:var Description = "Export YouTube playlists. This script is in the Public Domain - created at: 2016-11-21";
function printline(myLine) {
  document.write(myLine+"\n");
};
function showlinks() {
  var today = new Date();
  var day = today.getDate();
  var month = today.getMonth()+1;
  var year = today.getFullYear();
  document.write("<html><head><title>YouTube list: " + Title + "</title></head><body>");
  printline("<textarea name='Links' rows='55' cols='200'>");
  printline(year + "-" + month + "-" + day);
  printline(Title +"\n"+url);
  printline("");
  for (i=0; i<lines.length; i++) printline(lines[i]);
  printline("</textarea>");
  document.write("</body></html>");
};
var url = document.URL;
var body = document.body.innerHTML;
var lines = [];
if (url.match(/youtube.com/)) {
  var x = body.match(/data-list-title=.*/)[0];
  var x = x.replace(/.*data-list-title="/, '');
  var Title = x.replace(/".*/, '');
  var body = body.replace(/data-video-id="/g, 'data-video-id="https://www.youtube.com/watch?v=');
  if (body.match(/li class=.yt-uix-scroller-scroll-unit/)) {
    var matches = body.match(/li class=.yt-uix-scroller-scroll-unit.*/g);
    for(i=0; i<matches.length; i++) {
      var x = matches[i];
      var ID = x.replace(/.*data-video-id=./, "");
      var ID = ID.replace(/".*/, "");
      var VName = x.replace(/.*data-video-title=./, "");
      var VName = VName.replace(/".*/, "");
      var x = VName;
      var x = ID + "\t" + VName;
      lines.Push(x);
    };
  };
};
showlinks();

Si vous ne voulez pas que les URL des vidéos, vous supprimez simplement la ligne "var x = ID +"\t "+ VName;" (ligne 36)

Ce script devrait fonctionner pendant un moment, jusqu'à ce que YouTube modifie le formatage de leurs pages HTML. Quand ils le feront, vous devrez ajuster le script en conséquence - vous devrez probablement rechercher autre chose que "data-video-title ="

1
BearCode