YouTube喜欢定期删除我的收藏夹列表中的视频:



,但是他们拒绝告诉我他们是什么,所以我可以去找另一个副本。

我希望有一种导出我的YouTube播放列表的方法,以便可以定期对它们进行比较,并手动查找已删除歌曲的其他副本。

如何导出我的播放列表(或YouTube上的播放列表)?

评论

由于某些原因,在Android手机上查看播放列表仍会产生已删除视频的名称!

#1 楼

据我所知,在Youtube上没有内置的方法。

您当然可以使用Youtube API通过以下操作轻松获取xml中的所有播放列表:


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


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

该xml文件将为每个播放列表提供唯一的ID,您可以然后用于获取每个播放列表的详细信息,包括视频URL和标题。
以下API调用将再次为您提供一个xml文件:


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


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

手动处理这些XML文件将是一场噩梦。
最好创建一个小型Web应用程序(如果您了解一些Web编程)从t中拉出并展示相关信息软管XML文件。

您可以在此处阅读有关API的更多信息:
https://developers.google.com/youtube/2.0/developers_guide_protocol_playlists

评论


似乎默认情况下仅返回前25个项目。您可以将max-results = x添加到URL,但是x> 50被拒绝。添加start-index = ...用于分页结果。

– lunakid
14年8月15日在18:06

这个答案似乎已经过时了。 Youtube API现在是3.0。

–杰伊M
18年7月7日在16:31

就像播放列表本身一样,该API在不到十年的时间内就成功地发挥了作用。我们生活在一个世界,其中一切都被认为是暂时的,没有人负责使事情不会消失。一千年来,我们的社会一无所知,因为所有的痕迹都会消失。

– JohanBoulé
20/08/27在13:30

#2 楼

我们如何使这更容易。.

转到:http://www.williamsportwebdeveloper.com/FavBackUp.aspx

放入您想要的播放列表网址以excel格式创建,仅此而已:)

以下是预览效果。已导出我的短片播放列表,该列表很抱歉,功劳不足,无法发布2个链接


创建者:
'我的所有Web应用程序所做的只是使用YouTube开发者的API获取提要数据。您可以自己做同样的事情,但是会采用复杂的XML格式,而且可读性很差。我认为大多数人都希望将其包含在Excel电子表格中。如果您没有Microsoft Office,则可以免费下载Open Office。'

评论


适用于所有收藏夹和喜欢的播放列表。

–tobylane
2015年10月10日在8:43

非常感谢,我一直在寻找任何方法来进行此操作两天,并且与此相关的在线废话太多了。这个网站运作良好。 (只是有点慢,但仍然不到2天!)@tobylane Liked是我感兴趣的唯一列表,并且运行良好。

–ashleedawg
18年6月7日在7:38



@tobylane适用于收藏夹。我没有测试喜欢。

–用户
19年6月17日14:58



很好,但是您的.xls实际上是HTML。无需使用Excel打开。任何网络浏览器都可以正常显示该文件。

–tbc0
20 Mar 22 '20 at 20:05

这对YouTube音乐播放列表有用吗?我知道不是

–防晒
20-10-17在15:21

#3 楼

考虑到v2的弃用,当前答案不再有效。 v3是新版本。

文档链接-https://developers.google.com/youtube/v3/docs/playlistItems/list

此结果仅限于50个结果。
使用yyyy填充以下内容


API KEY(链接以获取凭据)

pageToken NNNNN-从第二页开始播放
-PLXxxx

示例链接-
https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&maxResults=50&pageToken=NNNNN&playlistId=PLXxxx=key=yyyy

评论


谢谢!从孩子们小时候起的几十个播放列表,我需要让它们全部井井有条,内容分类。这是总计的PITA。希望这个(和其他花絮)将我推向正确的方向。

–J.Hirsch
20年8月16日在18:08

这对YouTube音乐播放列表有效吗?

–防晒
20-10-17在15:21

提出此问题时,音乐可能不存在。检查api

–Sairam
20-10-17在19:20

是的,只是尝试过。但是,它返回的不是名称,而是ID列表。我应该运行哪种方法来获取这些ID的人名?

–防晒
20/12/11在17:35

#4 楼

这不是完成您所要求的内容的最优雅的方法,但这是我刚刚用来完成的手动方法。因为部分原因是我使用Powershell,所以假设您使用的是Windows计算机。

步骤:


转到Google Takeout
在“下载您的数据”页面上,取消选择除Youtube之外的所有内容
展开Youtube,然后在“ YouTube数据”下选择“选择特定数据”,然后单击“ YouTube数据”按钮并仅选择“播放列表”,然后将“订阅”下拉列表更改为“ JSON”,然后单击“下一步”
下载准备就绪的Takeout数据并将其解压缩到任何地方
打开Powershell会话并执行以下语句

假设您的播放列表是“收藏夹”,您将获得一个“ Favorites.json”。假设我只想要播放列表中每个视频的标题以及指向该视频的链接,位于一个名为YoutubeFavorites.txt的文本文件中: br />

评论


似乎没有导出私人播放列表(我只是“喜欢”“以后观看”,而其他不是我想要的播放列表)

–polynomial_donut
19年4月29日在19:48

这看起来很奇怪,也很令人失望。也许其他答案中的API选项是唯一真正的解决方案。

–雷米·兰伯特
19年5月1日在21:18

我的私人YT音乐播放列表已通过Takeout完美导出

–防晒
20-10-17在15:29

#5 楼

您可以在我们开发的新网站https://www.tunemymusic.com/

上进行操作。您可以选择从YouTube导出特定的播放列表,所有播放列表以及所有喜欢的视频。
然后您可以将其导出为免费的文本文件。

除文本文件外,我们现在还在努力添加导出到csv和m3u文件的选项

评论


我在其中放了一个YouTube播放列表网址,没有任何反应。

–科琳厨房
19年1月29日,0:04

#6 楼

如今,有许多解决方案的功能甚至超出了您的要求:


http://www.playlist-converter.net/-从多种音乐服务和文件格式转换您的播放列表
https://sourceforge.net/projects/youtubeexport/-此程序用于将youtube播放列表导出为文本或.html文件
https://soundiiz.com/-从文件,网络URL上传播放列表或纯文本格式,在所有流媒体平台之间转移您的收藏夹,下载为所有流行的文件格式

,但在我看来,最有效,最优雅的解决方案是仅使用youtube-dl,因为只需一个命令即可(您可以通过查看文档轻松建立自己的文档),可以通过向显示所有内容的页面输入YouTube URL作为参数,从而下载所有播放列表项的标题(如果您愿意的话,还可以是标题)。播放列表(例如https://www.youtube.com/user/您的用户名/播放列表)。
最重要的是,它还可以选择(使用您的凭据)向YouTube发出经过身份验证的请求,以便它也可以下载您的私人播放列表。

#7 楼

我创建了一个名为www.recovermy.video的服务来解决此问题。请参阅我对另一个问题的回答。

#8 楼

使用Google Takeout。


取消所有选择
一直滚动到底部的YouTube和YouTube音乐并选择它

单击所有YouTube包含数据以进行子选择,然后单击“全部取消选择”。

选择播放列表并单击确定。
。在选择播放列表的模式的底部。


单击下一步
单击创建导出并等待几秒钟
下载


评论


请注意,截至2020年11月4日,这不会导出我的所有播放列表。其中只有一些随机子集。

–乔恩
20年11月5日,下午1:37

#9 楼

您可以在浏览器中创建一个书签,以捕获列表中每个视频的描述,然后将它们全部打印在文本区域中。例如,此脚本将创建一个包含url和视频名称。只需创建一个书签,然后在书签的地址(URL)中添加以下脚本:

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


如果您不需要视频的网址,则只需删除行“ var x = ID +“ \ t” + VName;“ (第36行)

该脚本应工作一段时间,直到YouTube更改其HTML页面的格式为止。他们这样做时,您将不得不相应地调整脚本-最有可能的是,您将不得不搜索其他内容,而不是“ data-video-title =“

#10 楼

我要做的是转到播放列表,然后右键单击播放列表的名称,然后选择“使用Windows Live发送电子邮件”。它会向您的电子邮件发送一个链接,当您单击该链接时,便拥有了整个播放列表。

评论


然后YouTube从您的播放列表中删除一个视频,然后您再次访问该电子邮件链接,您便被带到该播放列表,该视频现在丢失了,您知道吗? ;)

– jj_
17年9月18日在12:34

#11 楼

为什么不打开播放列表,然后将其复制/粘贴到Excel,Word或其他内容?
并不完美,但是信息可以作为备份。