YouTube喜欢定期删除我的收藏夹列表中的视频:
但是他们拒绝告诉我他们是什么,所以我可以去找另一本。
我想要一种导出YouTube播放列表的方法,以便可以定期对它们进行比较,并手动查找已删除歌曲的其他副本。
如何从YouTube导出播放列表(或播放列表)?
YouTube喜欢定期删除我的收藏夹列表中的视频:
但是他们拒绝告诉我他们是什么,所以我可以去找另一本。
我想要一种导出YouTube播放列表的方法,以便可以定期对它们进行比较,并手动查找已删除歌曲的其他副本。
如何从YouTube导出播放列表(或播放列表)?
Answers:
据我所知,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,然后您可以使用该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编程),以便从那些XML文件中提取并显示相关信息。
您可以在此处了解有关API的更多信息:https : //developers.google.com/youtube/2.0/developers_guide_protocol_playlists
max-results=x
到URL,但是x> 50被拒绝。添加start-index=...
以分页结果。
我们如何使这更容易
转到:http : //www.williamsportwebdeveloper.com/FavBackUp.aspx
将您要创建的播放列表网址以excel格式放置,仅此而已:)
这是预览图。已导出我的短片播放列表,该播放列表位于抱歉,积分不足,无法发布2个链接
创建者: “我的Web应用程序所做的只是使用YouTube开发者的API来获取供稿数据。您可以自己做同样的事情,但是会采用复杂的XML格式,而且可读性很差。我认为大多数人都希望将其包含在Excel电子表格中。如果您没有Microsoft Office,则可以免费下载Open Office。”
Liked
是我感兴趣的唯一列表,并且运行良好。
考虑到v2的弃用,当前答案不再有效。v3是新版本。
文档链接-https://developers.google.com/youtube/v3/docs/playlistItems/list
这仅限于50个结果。填写以下内容
这不是完成您所要问的最优雅的方法,但这是我刚刚用来完成的手动方法。因为部分使用了Powershell,所以假设您使用的是Windows计算机。
脚步:
假设您的播放列表是“收藏夹”,您将获得“ Favorites.json”。假设我只需要播放列表中每个视频的标题以及指向该视频的链接,即可访问一个名为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 }
瞧,享受。
我创建了一个名为www.recovermy.video的服务来解决此问题。看到我对另一个问题的回答。
您可以使用我们开发的新网站https://www.tunemymusic.com/
您可以选择从YouTube导出特定的播放列表,所有播放列表以及所有喜欢的视频。然后,您可以将其导出为自由文本文件。
除了文本文件,我们现在正在努力添加选项以导出到csv和m3u文件
如今,有许多解决方案的功能甚至超出了您的要求:
http://www.playlist-converter.net/-从多种音乐服务和文件格式转换您的播放列表
https://sourceforge.net/projects/youtubeexport/-此程序用于将youtube播放列表导出为文本或.html文件
https://soundiiz.com/-从文件,Web URL或纯文本上传播放列表,在所有流媒体平台之间转移收藏夹,下载为所有流行的文件格式
但是,我认为最有效,最优雅的解决方案是仅使用youtube-dl,因为只需使用一个命令(例如,您可以通过查看文档轻松构建自己的命令),就可以下载所有播放列表项的标题(不仅标题(如果您愿意的话...),方法是输入显示所有播放列表(例如https://www.youtube.com/user/your_user_name/playlists)的页面的YouTube URL作为参数。最重要的是,它还可以选择向YouTube发送经过身份验证的请求(使用您的凭据),以便它也可以下载您的私人播放列表。
您可以在浏览器中创建一个书签,以捕获列表中每个视频的描述,然后将它们全部打印在文本区域中。
例如,此脚本将创建一个包含网址和视频名称的列表。只需创建一个书签,然后在书签的地址(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 =“