Como exporto minhas listas de reprodução do YouTube?

43

O YouTube gosta de excluir periodicamente os vídeos que estão na minha lista de favoritos:

aviso sobre vídeos excluídos

Mas eles se recusam a me dizer o que eram para que eu possa encontrar outra cópia.

Gostaria de exportar minhas listas de reprodução do YouTube para diferenciá-las periodicamente e encontrar manualmente outras cópias das músicas excluídas.

Como posso exportar minhas playlists (ou uma playlist) do YouTube?

Ian Boyd
fonte
1
Por algum motivo, a exibição da lista de reprodução em um telefone Android ainda produzirá os nomes dos vídeos que foram excluídos!

Respostas:

18

Tanto quanto sei, não há nenhuma maneira de fazer isso no Youtube.

Obviamente, você pode usar a API do YouTube para obter facilmente todas as suas listas de reprodução em xml usando o seguinte:

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

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

Esse arquivo xml terá os IDs exclusivos para cada uma das suas listas de reprodução, que você poderá usar para obter os detalhes de cada lista de reprodução, incluindo URLs e títulos de vídeos. A seguinte chamada à API fornecerá novamente um arquivo xml:

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

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

Trabalhar com esses arquivos XML manualmente seria um pesadelo. Seria melhor criar um pequeno aplicativo da Web (se você conhece um pouco de programação da Web) para extrair e apresentar as informações relevantes desses arquivos XML.

Você pode ler mais sobre a API aqui: https://developers.google.com/youtube/2.0/developers_guide_protocol_playlists

Projetos OAC
fonte
2
Parece que apenas os 25 primeiros itens são retornados por padrão. Você pode adicionar max-results=xao URL, mas x> 50 é rejeitado. Adicione start-index=...para paginar os resultados.
lunakid 15/08/14
2
Esta resposta parece desatualizada. A API do YouTube agora é 3.0.
Jay M
15

Que tal tornarmos isso mais fácil ..

Vá para: http://www.williamsportwebdeveloper.com/FavBackUp.aspx

Coloque o URL da playlist que você deseja criar no formato excel, isso é tudo :)

Aqui está uma prévia de como se parece. Exportou minha lista de reprodução de curtas-metragens, que está localizada, desculpe, não há créditos suficientes para postar 2 links insira a descrição da imagem aqui

O criador: 'Tudo o que meu aplicativo Web faz é usar a API do desenvolvedor do YouTube para obter os dados do feed. Você poderia fazer o mesmo, mas seria em um formato XML complicado e não muito legível. Eu acho que a maioria das pessoas prefere tê-lo em uma planilha do Excel. Se você não possui o Microsoft Office, pode baixar o Open Office gratuitamente. '

user2253392
fonte
1
Isso funciona para todas as listas de reprodução, exceto as favoritas e as curtidas.
tobylane
MUITO OBRIGADO, estou procurando alguma maneira de fazer isso há 2 dias, e há muita porcaria online desatualizada relacionada a isso. Este site funcionou perfeitamente. (apenas um pouco lento, mas ainda <2 dias!) @tobylane Likedfoi a única lista em que eu estava interessado e funcionou perfeitamente.
ashleedawg
@tobylane funciona para favoritos. Eu não testei por gostar.
Fermi paradox
9

À luz da descontinuação da v2, a resposta atual não funciona mais. v3 é a nova versão.

O link da documentação - https://developers.google.com/youtube/v3/docs/playlistItems/list

Isso limita a apenas 50 resultados. Preencha o seguinte

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

Sairam
fonte
7

Esta não é a maneira mais elegante de realizar o que você pede, mas aqui está um método manual que eu apenas usei para fazer isso. Como estou usando o Powershell como parte disso, suponho que você esteja em uma máquina Windows.

Passos:

  1. Vá para o Google Takeout
  2. Na página Baixar seus dados, desmarque tudo, exceto o Youtube
  3. Expanda o YouTube e selecione "Selecionar dados específicos" em "Dados do YouTube", clique no botão "Dados do YouTube" e selecione apenas "Listas de reprodução", depois altere o menu suspenso "Assinaturas" para "JSON" e clique em Avançar
  4. Faça o download dos dados do Takeout quando estiver pronto e descompacte-o em qualquer lugar
  5. Abra uma sessão do PowerShell e execute as instruções abaixo

Supondo que sua lista de reprodução seja Favoritos, você receberá um arquivo Favorites.json. Digamos que eu queira apenas o título de cada vídeo na playlist e um link para ele, em um arquivo de texto chamado 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 }

Voila, aproveite.

Remy Lambert
fonte
Parece que playlists privadas não são exportadas (eu só 'curti' '' assisti mais tarde '' e outra coisa que não era a playlist que eu estava procurando)
polynomial_donut
Isso parece muito estranho, também decepcionante. Talvez as opções da API em outras respostas sejam as únicas soluções reais.
Remy Lambert
3

Você pode fazer isso com um novo site que desenvolvemos https://www.tunemymusic.com/

Você pode escolher exportar do YouTube uma lista de reprodução específica, todas as suas listas de reprodução e também todos os seus vídeos curtidos. Depois, você pode exportá-lo para um arquivo de texto livre.

Além do arquivo de texto, agora estamos trabalhando para adicionar opções para exportar para arquivos csv e m3u

tunemymusic
fonte
Coloquei um URL da lista de reprodução do YouTube e nada aconteceu.
TIX BRANCO
2

Atualmente, existem muitas soluções que fazem ainda mais do que você solicitou:

  • http://www.playlist-converter.net/ - Converta sua lista de reprodução de vários serviços de música e formatos de arquivo

  • https://sourceforge.net/projects/youtubeexport/ - Este programa é usado para exportar listas de reprodução do YouTube para arquivos de texto ou .html

  • https://soundiiz.com/ - Carregue listas de reprodução de arquivos, URLs da Web ou texto sem formatação, transfira seus favoritos entre todas as plataformas de streaming, faça o download para todos os formatos de arquivos populares

Mas a solução mais eficiente e elegante seria, na minha opinião, usar o youtube-dl porque, com um único comando como (que você pode criar facilmente olhando os documentos), você pode baixar TODOS os títulos de itens de suas listas de reprodução (bem, não apenas o títulos, se você se importou ...), inserindo como parâmetro o URL do YouTube na página que mostra todas as suas listas de reprodução (por exemplo, https://www.youtube.com/user/your_user_name/playlists ). Além disso, ele também tem a opção de fazer solicitações autenticadas ao YouTube (com suas credenciais) para que você também possa baixar suas listas de reprodução particulares .

jj_
fonte
1

Você pode criar um Bookmarklet no seu navegador para capturar a descrição de cada vídeo na lista e imprimi-los todos em uma área de texto.

Por exemplo, este script criará uma lista com os URLs e os nomes dos vídeos. Basta criar um marcador e adicionar o seguinte script no endereço (URL) do marcador:

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();

Caso você não queira os URLs dos vídeos, basta excluir a linha "var x = ID +" \ t "+ VName;" (linha 36)

Esse script deve funcionar por um tempo, até que o YouTube altere a formatação de suas páginas HTML. Quando eles fizerem isso, você terá que ajustar o script de acordo - provavelmente, você terá que procurar outra coisa em vez de "data-video-title ="

BearCode
fonte
-1

O que fiz foi acessar minha playlist e clicar com o botão direito do mouse no nome da minha playlist e selecionar "email with Windows Live". Ele envia um link para o seu email e, quando você clica no link, tem toda a sua lista de reprodução.

skeetz
fonte
1
o YouTube remove um vídeo da sua lista de reprodução e, em seguida, você visita o link enviado novamente por e-mail e é levado para essa lista de reprodução, onde o vídeo está ausente, sabe? ;)
jj_
-3

Por que você não abre a lista de reprodução e copia / cola no Excel, Word ou qualquer outra coisa? Não é exatamente elegante, mas as informações estão lá como um backup.

ninja
fonte