gpt4 book ai didi

Javascript - 如何以编程方式获取 Youtube 视频的 url? (自己回答)

转载 作者:行者123 更新时间:2023-11-29 19:12:28 27 4
gpt4 key购买 nike

一个非常常见的问题是“如何获取 Youtube 视频的网址?”。大多数答案涉及对视频页面的 html 进行一些抓取和正则表达式处理,或者求助于“使用此第 3 方工具或网站”。

在任何 Youtube 视频页面上的任何浏览器中的开发工具控制台中,都非常容易做到这一点。

请参阅下面的答案。

最佳答案

例子在这里:

https://gist.github.com/geuis/8b1b2ea57d7f9a9ae22f80d4fbf5b97f

// Run from the dev tools console of any Youtube video
// Accurate as of June 12, 2016
var videoUrls = {};
ytplayer.config.args.url_encoded_fmt_stream_map.split(',').forEach(function (item) {
var obj = {};

item.split('&').forEach(function (param) {
param = param.split('=');
obj[param[0]] = decodeURIComponent(param[1]);
});

videoUrls[obj.quality] = obj;
});

console.log(videoUrls);

https://www.youtube.com/watch?v=9bZkp7q19f0 的示例输出

{
"hd720": {
"url": "https://r3---sn-n4v7sn76.googlevideo.com/videoplayback?ms=au&mv=m&mt=146577…zA3KgkxMjcuMC4wLjE&ip=108.233.85.171&key=yt6&requiressl=yes&itag=22&cnr=14",
"quality": "hd720",
"s": "1BEF82C7D9487809555E4B5124CA244FD93857C62.7869EB3FE7E8BE955B85E19F769DD80C49F3A87CB",
"itag": "22",
"type": "video/mp4;+codecs=\"avc1.64001F,+mp4a.40.2\""
},
"medium": {
"url": "https://r3---sn-n4v7sn76.googlevideo.com/videoplayback?ms=au&mv=m&mt=146577…AxLnNqYzA3KgkxMjcuMC4wLjE&ip=108.233.85.171&key=yt6&requiressl=yes&itag=18",
"quality": "medium",
"s": "35ADDCF2F151540B9AE72455ED9CD079B3A166669.F168091B130653FCACA72506C01625B74E46C1A7D",
"itag": "18",
"type": "video/mp4;+codecs=\"avc1.42001E,+mp4a.40.2\""
},
"small": {
"url": "https://r3---sn-n4v7sn76.googlevideo.com/videoplayback?ms=au&mv=m&mt=146577…AxLnNqYzA3KgkxMjcuMC4wLjE&ip=108.233.85.171&key=yt6&requiressl=yes&itag=17",
"quality": "small",
"s": "0C397549D581241F0F39D3EB8BF6E9B9067F65AFD.76B46A360178C4B001E96166C46AEAE5CF0D6A35F",
"itag": "17",
"type": "video/3gpp;+codecs=\"mp4v.20.3,+mp4a.40.2\""
}
}

关于Javascript - 如何以编程方式获取 Youtube 视频的 url? (自己回答),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37779940/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com