如何在YouTube上根据多个视频ID创建一个播放列表?

3
我有许多视频ID(200+),我想使用所有这些视频ID创建一个YouTube播放列表。我尝试了这里的解决方案:https://webapps.stackexchange.com/questions/120451/how-to-create-a-playlist-form-a-list-of-links-not-from-bookmarks,但没有一个解决方案起作用,大多数解决方案都有50个视频限制。给出的Python代码只包含第一个视频,而且没有其他视频。第一种方法也不起作用,当我复制Excel表格时,它完全崩溃了。是否有任何方法可以将这些视频添加到播放列表中,而不是手动添加?例如:使用播放列表创建者或程序/API?谢谢。
3个回答

4

来源/鸣谢:使用此URL技巧在不登录账户的情况下创建YouTube播放列表


按照以下结构,您可以创建一个无标题的播放列表:

http://www.youtube.com/watch_videos?video_ids=ID1,ID2,ID3,ID4

这是我创建的一个示例:

http://www.youtube.com/watch_videos?video_ids=nWyetldx4PU,gvubjVKOMuc,M3emJNkMmnA,QL2ohdMRck0,irTjCnHmU-E

将上述URL粘贴到浏览器中后,URL会更改为:https://www.youtube.com/watch?v=nWyetldx4PU&list=TLGGyc5oTGfqXdswNjEwMjAyMA


1
“TL” 的含义可能是“临时列表”;如果这是真的,那么自然会出现一个问题:YouTube 会将这个临时播放列表保留多长时间(即有效期)? - stvar
有趣的事实:(1)每次我访问上面的URL http://www.youtube.com/watch_videos?video_ids=nWyetldx4PU,gvubjVKOMuc,M3emJNkMmnA,QL2ohdMRck0,irTjCnHmU-E,YouTube的Web UI都会响应与上面显示的相同的播放列表URL;因此后端不会在每次访问相同的视频ID列表时创建新的临时播放列表。 - stvar
1
(2)当使用id=TLGGyc5oTGfqXdswNjEwMjAyMA查询Playlists.list API端点时,不会返回任何Playlists resource资源(响应包含一个空的items数组: "items":[])。 - stvar
1
@stvar 我猜 TLGGyc5oTGfqXdswNjEwMjAyMA 包含了链接中使用的编码/混淆 URL。我正在寻找相关文档,但我认为目前没有可用的。 - Mauricio Arias Olave
到目前为止,我在官方文档和其他任何地方都没有找到过这样的播放列表(TL...)。 - stvar

-1
  1. 如果您有视频的URL,请使用正则表达式获取视频的ID。

  2. 然后,借助@Mauricio Arias Olave的答案创建一个播放列表。或者您也可以观看我的视频https://youtu.be/_gaVUYfWb6g

  3. 接下来,使用以下JS代码将播放列表转换为您YouTube帐户中的永久播放列表。它只是将这些视频添加到第一个可用的播放列表中。els2[1].click();您可以更改此行中的数字以选择不同的播放列表。您需要在浏览器控制台中运行此代码。

这将一直有效,直到YouTube更改其HTML为止。

(function myLoop(i) {
  setTimeout(function() {
    console.log(i);
    letters[i].click();
    var els = document.querySelectorAll(".style-scope.ytd-menu-service-item-renderer");
    console.log(els);
    if(els.length){
        els[6].click();
        var els2 =  document.querySelectorAll(".checkbox-height.style-scope.ytd-playlist-add-to-option-renderer");
        if(els2.length){
            els2[1].click();
             console.log("saved in playlist");
        }
    }

    document.getElementsByTagName("body")[0].click();
    if (--i) myLoop(i);   //  decrement i and call myLoop again if i > 0
  }, 3000)
})(letters.length-1);

-1
也许仍然有人需要这个解决方案,我有一个网络应用程序,在那里您可以从歌曲标题列表或链接列表创建YouTube播放列表,并将其保存到您的YouTube帐户中: https://myplaylistcreator.com

你的回答可以通过提供额外的支持信息来改进。请编辑以添加更多细节,例如引用或文档,以便他人可以确认你的回答是否正确。您可以在帮助中心找到关于如何编写好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接