You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过控制台JS获取YouTube播放列表所有视频的总观看时长?

获取YouTube播放列表所有视频总时长的浏览器控制台JS代码

你可以使用以下JavaScript代码在浏览器控制台运行,计算YouTube播放列表中所有已加载视频的总时长:

function calculateTotalPlaylistDuration() {
    let totalSeconds = 0;
    const videoRenderers = document.querySelectorAll('ytd-playlist-video-renderer');

    videoRenderers.forEach(renderer => {
        const timeElement = renderer.querySelector('.ytd-thumbnail-overlay-time-status-renderer');
        if (!timeElement) return;
        
        const timeParts = timeElement.innerText.trim().split(':').map(Number);
        // 处理不同时长格式:mm:ss 或 hh:mm:ss
        switch(timeParts.length) {
            case 2:
                totalSeconds += timeParts[0] * 60 + timeParts[1];
                break;
            case 3:
                totalSeconds += timeParts[0] * 3600 + timeParts[1] * 60 + timeParts[2];
                break;
        }
    });

    // 转换为易读的时:分:秒格式
    const hours = Math.floor(totalSeconds / 3600);
    const minutes = Math.floor((totalSeconds % 3600) / 60);
    const seconds = totalSeconds % 60;

    console.log(`总时长:${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`);
    console.log(`总时长(秒):${totalSeconds}`);
}

// 执行计算
calculateTotalPlaylistDuration();

注意事项:

  • YouTube播放列表采用懒加载机制,只有滚动到页面底部才会加载更多视频。运行代码前,请先滚动页面直到所有需要统计的视频都加载完成。
  • 该代码仅统计当前页面显示的视频时长,无法直接获取截至指定时间T的历史数据(若需此类数据,需调用YouTube Data API并结合时间参数筛选)。
  • 你的原始代码仅提取了时长的秒数部分,未处理分钟和小时,上述代码修复了这个问题,支持解析mm:ss和hh:mm:ss两种常见时长格式。

相关问题:播放列表总浏览量

内容的提问来源于stack exchange,提问作者Maesumi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 02:05:05