如何逐个列出YouTube播放列表视频时长并导出相关信息
导出非自建YouTube播放列表的视频信息(名称、时长、链接)
方法1:浏览器控制台脚本(快速批量导出)
- 打开目标YouTube播放列表页面,滚动到最底部加载完所有视频(长列表需等待加载完成)
- 按F12打开开发者工具,切换到「Console」标签页
- 粘贴以下代码并回车执行:
const videoItems = document.querySelectorAll('ytd-playlist-video-renderer'); const data = []; videoItems.forEach(item => { const title = item.querySelector('#video-title').textContent.trim(); const duration = item.querySelector('#text').textContent.trim(); const link = 'https://www.youtube.com' + item.querySelector('#video-title').getAttribute('href'); data.push([title, duration, link]); }); // 生成可复制的表格 const table = document.createElement('table'); table.border = '1'; // 添加表头 const headerRow = table.insertRow(); ['视频名称', '时长', '链接'].forEach(text => { const th = document.createElement('th'); th.textContent = text; headerRow.appendChild(th); }); // 填充数据行 data.forEach(rowData => { const row = table.insertRow(); rowData.forEach(cellData => { const cell = row.insertCell(); cell.textContent = cellData; }); }); document.body.appendChild(table);
执行后页面底部会出现带边框的表格,全选复制后直接粘贴到Excel或Google Sheets即可。
方法2:Google Sheets 公式法(无脚本)
适合习惯用表格工具的用户:
- 新建Google Sheets文档
- 在A1单元格输入播放列表ID(从URL提取,例如
https://www.youtube.com/playlist?list=ABC123中的ABC123) - 在A2、B2、C2分别输入以下公式,下拉填充即可自动抓取对应信息:
- 视频名称:
=INDEX(IMPORTXML("https://www.youtube.com/playlist?list="&$A$1,"//a[@id='video-title']/@title"),ROW(A1))
- 时长:
=INDEX(IMPORTXML("https://www.youtube.com/playlist?list="&$A$1,"//span[@id='text']"),ROW(A1))
- 视频链接:
=INDEX(IMPORTXML("https://www.youtube.com/playlist?list="&$A$1,"//a[@id='video-title']/@href"),ROW(A1))
注意:长列表可能需要分批加载,部分私有/受限播放列表无法用此方法抓取。
方法3:手动提取(短列表适用)
如果播放列表视频数量不多,直接手动操作更高效:
- 打开播放列表并滚动显示所有视频
- 按Ctrl+Shift+C(Chrome)激活元素选择工具,点击第一个视频标题,在开发者工具的Elements面板中找到包含所有视频的父容器(通常是
ytd-playlist-video-list-renderer下的#contents节点) - 右键该节点,选择「Copy」→「Copy outerHTML」
- 将复制的内容粘贴到Excel,Excel会自动识别表格结构,删除多余列后保留名称、时长、链接即可。
内容的提问来源于stack exchange,提问作者Aycan Candar
相关产品推荐
相关产品推荐

