视频和字幕 · YouTube 缩略图下载器和元数据查看器
如何从观看、Shorts 和嵌入链接中提取 YouTube 视频 ID
· 工作原理
youtube 网址 解析
同一视频可以通过多种方式链接。这篇文章解释了 YouTube 链接可以采用的形状、工具如何找到每个链接内的 11 个字符的 ID 以及如何处理跟踪参数和时间戳。
同一视频,五个不同的链接 - 观看页面、短链接、Shorts、嵌入内容和手机地址
一个视频可以通过观看 URL、youtu.be 共享、Shorts 路径、嵌入地址、实时链接或移动主机链接的形式到达。 ToolAcre 在考虑任何网络工作之前,会将每个受支持的形状缩减为相同的 11 个字符 ID。因此,混合导入可以使用该 ID 作为其重复数据删除密钥,而不是将一个视频的六个链接视为六个记录。
这种排序对于编辑者清理混合列表很有用:解析是页面中确定性的字符串和 URL 工作,因此可以报告错误的域和仅播放列表的链接,而不会将粘贴的值泄漏到远程解析器。集合 URL 未得到解析,因为它的存在和顺序都无法识别编辑者打算引用哪个成员。
ID 本身 — 64 符号字母表中的十一个字符以及为什么它看起来是随机的
可接受的 ID 形状恰好是由大小写字母、数字、连字符和下划线组成的 11 个字符。这只是一个格式检查;通过它并不能证明视频存在或揭示字符的含义。将规则应用于解析的 v 值或路径段可以避免从某些不相关的编码参数中清除类似 ID 的子字符串。
立即接受裸露的匹配 ID。较长的播放列表标识符使用单独的保守模式,防止播放列表标记被默默地视为一个视频的密钥。起始时间仍然伴随引文数据:将 30 秒更改为 90 秒仍然指向相同的 11 个字符的视频记录。
使用 URL API 进行解析 — 读取主机、路径和查询,无需仅使用正则表达式进行猜测
URL 构造函数分隔协议、规范化主机、路径段和查询参数。这避免了一个巨大的正则表达式可能会意外地接受相似的域或将查询值与路径 ID 混淆。拒绝欺骗性主机比为嵌入不可信 URL 中的标识符生成可信缩略图更安全。
仅接受 HTTP 和 HTTPS,并且前导 www 被规范化。允许名单涵盖 YouTube、移动、音乐、游戏、nocookie 和 youtu.be 主机,而不信任任何包含 youtube 一词的主机名。远程成功无法验证解析错误的链接的来源,因为攻击者可能故意在不相关的域中包含真实的公共 ID。
每个形状中隐藏的 ID — v 参数、youtu.be 上的路径、/shorts/, /embed/ 和 /live/
观看页面使用 v 查询参数,youtu.be 使用其第一个路径段,shorts、embed 和 live 表单使用其前缀后的段。旧版 /v/ 和 /e/ 路径也可以通过相同的严格形状检查来识别。匹配的标识符仅允许本地处理,而不允许有关内容或所有权的声明。
解析器另外读取有效的播放列表 ID 和从 t 或 start 开始的偏移量。它将这些作为单独的事实返回,以便它们可以通知生成的链接,而不会污染视频标识符本身。网络边界仅在这种区分完成后才开始,因此解析器测试可以离线运行。
忽略其余部分 - 无法识别视频的播放列表参数、开始时间和共享跟踪值
共享跟踪值、不相关的查询参数和时间戳无法识别视频。 ToolAcre 在提取 ID 后会忽略它们,而对于故意保留起始点的链接,支持的时间形式会标准化为整秒。因此,具有不同活动标签的两个链接可以解析为一个资产记录,而无需将这些营销参数携带到生成的 URL 中。
仅播放列表、频道和搜索页面会收到可操作的拒绝,因为它们没有命名一个视频。从这些页面猜测 ID 会产生确定性,并可能获取错误记录的资产。策展人必须首先选择单个项目;解析器不会悄悄地从集合中选择第一个结果,该集合的顺序稍后可能会改变。
工作示例:将十个粘贴的链接规范化为其 ID — 其中两个根本不是 YouTube 链接
实用的十个粘贴批次可以包括手表、短视频、Shorts、嵌入、实时、移动和裸 ID 表单以及两个不相关的域。前八个集中于 ID;不相关的主机在接受主机列表中本地失败。因此,即使贡献者从多个不同的 YouTube 界面复制链接,也可以通过 ID 对输出进行重复数据删除。
在该规范化期间没有发生存在探测。形状有效但不存在的 ID 到达稍后的获取阶段,其中缩略图和 oEmbed 响应提供独立证据,而不是追溯更改解析器结果。这保留了“文本是有效标识符”和“Google 目前为其提供公共材料”之间的明确区别。
这不包括频道、播放列表和搜索 URL,其中不包含单个视频 ID
解析器不会将频道、播放列表或搜索结果解析为所选视频。它还无法绕过私有、已删除或有年龄限制的访问,因为提取公共标识符并不意味着授权检索受保护的材料。拒绝不明确的集合 URL 可以防止目录被最先出现在某人屏幕上的项目填充。
一旦按下 Fetch,图像探针可能会遇到 404、其他 HTTP 错误、200 占位符或无法解码的字节。单独的元数据可能会因传输、HTTP 拒绝或无效 JSON 而失败,包括当阻止程序、代理或离线状态干扰时。这些结果属于可用性报告;它们不应导致解析器将原始链接重新解释为某些不同的视频。
要点:找到 ID,然后一切就随之而来 — YouTube 缩略图下载器如何接受 YouTube 链接并记录其支持的形状
本地解析后,浏览器直接从 i.ytimg.com 请求每个 JPEG 候选者一张缩略图,并从 www.youtube.com 请求一张 oEmbed JSON 记录。 oEmbed URL 包含规范的 watch URL 和 format=json。在“网络”面板中查看这些调用可确认标准化已完成,并且相同的提取 ID 正在驱动资产和元数据请求。
这些匿名 GET 忽略凭据和引荐来源网址、使用无存储、遵循重定向并绕过任何 ToolAcre 服务器或代理。 Google 会看到请求和 Origin 标头;注销限制仍然适用于私人、已删除和有年龄限制的视频。在单击按钮之前,可以使用代表性 URL 形状离线测试解析器行为,因为不需要查找来识别其组件。