我知道YouTube非常封闭,并且没有发布任何详细的统计数据,但我有一个特定的研究兴趣来查找任意操作方法视频的长度。
当我搜索那个词时,我会得到几百万个结果。是否可以确定部分搜索结果的播放持续时间?由于YouTube API的使用受到限制,因此每天可以掌握一些视频,并且可能有多个API密钥。
除了使用API之外,我可以使用强大的刮刀。
答案 0 :(得分:1)
我建议你在浏览器开发工具中使用一个简单的JS实用程序。阅读here如何使用它进行计数。我已将其修改为计算视频时长。
打开youtube搜索页面并打开浏览器的开发工具(在PC上为F12,首选项 - >高级 - >在Mac上显示开发菜单)。打开后,转到控制台(控制台选项卡)并输入以下代码:
function domCounter(selector){
var a = document.querySelectorAll(selector);
var hour = 0, min = 0;
for(var i=0; i<a.length;i++){
var time = a[i].innerHTML.split(':');
// console.log(time);
hour += parseInt(time[0]);
min += parseInt(time[1]);
}
return hour + Math.round(min/60);
}
所以要在浏览器控制台中调用它,你只需点击:
domCounter('span.video-time')
此实用程序适用于一个搜索页面结果。你可能会改进它来遍历分页。
答案 1 :(得分:0)
如果没有查看每个视频的视频时长,您将无法获得从搜索终端返回的持续时间视频。
但是,搜索端点会提供videoDuration
参数,您可以将其传递给您的请求,以便仅返回特定持续时间范围内的视频:
videoDuration参数基于过滤视频搜索结果 持续时间。如果为此参数指定值,则必须 还将type参数的值设置为video。
可接受的值是:
any
- 请勿根据视频搜索结果的持续时间过滤视频搜索结果。这是默认值。long
- 仅包含超过20分钟的视频。 medium - 仅包含4到20分钟(含)之间的视频。short
- 仅包含不到四分钟的视频。