一个视频播放器连接着一张文字卡片和一份带时间的列表。右侧是一份被划掉的文档。

观看事件是一次被记录下来的观看行为。同一视频看两次,就是两个事件。归档文件是下载到本地的账号数据副本。主要结果应为归档文件中记录的每个观看事件保留一行。

你可以稍后添加当前的公开视频详情。请将这一步单独处理。公开视频详情无法恢复缺失的私人观看事件。

明确需要核查的内容

读者想要的是“完整的 YouTube 观看记录”。这需要分别核查两件事:表格是否保留了导出的事件,以及归档文件是否覆盖了你预期的观看记录。

你可以将表格与源文件逐项比对。但仅凭这些文件,无法证明它们覆盖了你从开始使用以来的全部观看记录。一位账号所有者在公开提问中反映,Takeout 导出的内容不完整。这只是一次缺口报告,不能据此确定失败率,也不能据此得出能保证获得完整记录的方法。

计划保存以下三项记录:

  1. 一份私人说明,记录申请的归档文件及其内容。
  2. 一张保留重复观看和原始时间的观看事件表。
  3. 一张可选的公开视频表,每个视频 ID 只选用一条结果。

ID 是用于标识某个对象的值。视频 ID 标识的是视频,而不是观看事件。在整个操作过程中,请始终区分这两种用途。

申请归档文件并记录范围

仅使用你自己的 Google 账号。通过官方下载指南,打开已登录账号的 Google Takeout 页面。

不要依赖固定的菜单路径或文件名。请查看当前可选的产品,以及各产品中可包含的数据。

  1. 选择观看记录所需的 YouTube 数据或账号活动数据。
  2. 私下记录所用账号和所选数据。
  3. 记录申请日期。
  4. 申请归档文件。
  5. 下载该次申请提供的所有归档分卷。
  6. 记录归档文件的创建日期、文件格式和分卷名称。
  7. 保持原始文件不变。
  8. 打开用于处理的副本,确认其中包含观看事件。

搜索活动和订阅信息不能证明你看过哪些视频。统计行数之前,请根据实际内容确认记录类型。

所选数据决定了申请的数据范围,也就是你要求 Google 包含的账号数据。请将实际收到的内容另行记录为一项事实。仅仅选中了某个类别,并不能证明下载的文件包含所有预期记录。

请勿公开归档文件。可选的公开信息核查只需要选定的公开视频 ID 或链接,不需要归档文件或你的账号登录凭据。下载数据不会删除云端副本。Google 导出范围与限制

建立保留每个观看事件的表格

导入文件前,先阅读实际字段名。不要假定文件结构、日期格式或视频字段固定不变。

为源文件中的每个观看事件创建一行工作记录。保留所有原始字段。添加定位信息,以便在未经修改的归档文件中找到该事件。

下列字段是建议使用的工作字段,并不表示 Google 导出文件一定使用这些列名。

建立保留每个观看事件的表格
工作字段保存内容信息缺失时的处理规则
归档定位信息归档申请或已保存副本的定位信息查明未知来源
源文件及事件定位信息文件名,以及行号或条目位置进一步处理前先补充定位信息
原始活动文本来源提供的活动文本原文文本缺失时留空
原始事件时间来源中的原始时间戳不要用其他日期代替
来源时区来源提供的时区或时差偏移量(如有)未提供时区时标记为待确认
统一格式的事件时间条件允许时,保存经过核查的统一时间值时间尚未确认前留空
原始视频链接来源中的原始链接(如有)没有链接也要保留事件
已核查的视频 ID根据来源确认的视频身份视频身份不确定时保持待确认状态
时间核查状态时间是否已确认保留不确定的原因
公开信息查询状态未查询、已匹配或待确认与归档覆盖范围分开记录

时间戳是已存储的日期和时间。统一格式的时间是转换为共同形式后另存的一个值。两者都不能用来替换原始来源值。

来源定位信息用于在已保存的归档文件中找到事件。它不一定是可在不同导出文件间保持不变的事件 ID。两个文件的行号相同,并不能证明它们记录的是同一个事件。

视频链接缺失,并不意味着已记录的观看事件不存在。请保留事件,并将视频身份标记为待确认。同样,字段为空表示信息缺失,不表示观看次数为零。

确认时间,同时保持其含义不变

观看时间、视频发布时间和公开信息查询时间,描述的是不同事件。

确认时间,同时保持其含义不变
时间含义正确用途
归档中的事件时间归档中记录的观看行为发生时间对已记录的观看进行排序或分组
视频发布时间视频发布的时间描述视频
公开信息查询时间采集公开详情的时间标明公开观测记录的采集时间
归档申请或创建时间提交导出申请或创建导出文件的时间描述归档文件

只有在明确日期格式后,才能解析日期。解析是指将存储的文本读取为日期和时间。如果日期含义不明确,在查明前应保持待确认状态。

  1. 保持原始时间戳不变。
  2. 根据来源确定日期格式。
  3. 确定来源提供的时区或时差偏移量(如有)。
  4. 只有在这些信息明确后,才能转换时间值。
  5. 将转换后的值与原始值并列保存。
  6. 记录所有尚未解决的时间问题。

UTC 是协调世界时,是一种通用的时间基准。当来源时间可以确定时,你可以保存统一转换后的 UTC 值。不要仅因为电脑使用某个时区,就将该时区赋给记录。

不要将导入时间当作观看时间。不要用视频发布时间填补缺失的事件时间。如果之后按天对观看记录分组,请说明报告使用的时区。先解决时间问题,再将每日总数视为经过核查的结果。

保留重复观看,只删除已证实的导入副本

两个事件可以有相同的视频 ID、标题或日期。这并不意味着它们是重复事件。

例如,同一个视频早上看一次、晚上看一次,仍应保留为两行。按视频 ID 删除行,会丢失一部分已记录的观看历史。

去重是指删除已确认属于同一条记录的多余副本。只有在证据表明这些副本由导入过程产生时,才能执行去重。例如,同一份未经修改的归档文件被导入了两次,就可以通过归档、文件和来源条目的定位信息进行核查。

  1. 统计已导入的观看事件行数。
  2. 检查是否有归档分卷被导入了两次。
  3. 通过来源定位信息找出被重复复制的来源记录。
  4. 只删除已证实为多余副本的记录。
  5. 记录删除的副本数量及原因。
  6. 添加公开详情前,先保存保留的事件数。

仅凭视频 ID 或时间戳相同,不能证明两行是同一记录的副本。覆盖范围重叠的归档文件需要另行核查记录。不要将尚不确定的匹配项强行合并为一个事件。

决定是否需要公开视频详情

如果核查后的事件表已能回答你的问题,就可以到此为止。

可选的元数据可以补充当前标题、频道详情和公开计数。元数据是描述某个对象的信息。它描述的是视频,不能据此认定多出了一次观看事件。

Chronometrica YouTube Metrics Scraper 是一个 Actor,即托管的数据采集程序。其文档列出的输入包括已知视频 ID 和视频链接。它也支持查找公开频道,但核查本归档文件不需要这项功能。

该 Actor 读取公开视频元数据和指标。指标指公开观看次数、点赞数等计数。它不读取个人观看记录或私密视频,也不采集评论文本,不提供 YouTube Studio 中的展示次数、点击率或观众留存数据。

另建一份已知公开视频 ID 列表,每个 ID 只保留一次。这样既能减少重复的公开信息查询,又能保留每个观看事件。转录文本语料库指南也将来源中的重复出现与唯一的视频身份分开处理。在这里,不含重复 ID 的列表仅用于可选查询。事件表必须保留重复观看。

如果之后需要视频中的口述文本,请参阅单独的字幕提取指南。字幕不能证明你是否看过某个视频,也不能证明观看时间。

配置可选的公开信息查询

youtube-engagement-metrics-tracker Task 提供了一个初始预设。Task 是已保存的 Actor 输入预设。

所提供的证据记录了对 Task 公开页面及其 ID 的核查,核查日期为 2026 年 10 月 25 日。核查未查看需要登录才能访问的已保存设置,也未运行该 Task。

以下小型输入已按照所提供的公开输入规则通过格式检查。JSON 是一种用于表示结构化数据的文本格式。

json
{
  "maxItems": 1,
  "startUrls": [
    "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  ]
}
配置可选的公开信息查询

示例链接仅用于演示输入,并非本方法产生的结果。

  1. 使用前检查 Task 设置。
  2. 将 `startUrls` 中的整个示例列表替换为你要查询的公开视频 ID 或链接。
  3. 本次归档核查请直接使用视频 ID 或视频链接作为输入。
  4. 设置 `maxItems`,使其允许输出预期数量的公开结果行。
  5. 不要发送私人归档文件或观看事件行。
  6. 用一份你能逐项完整检查的小列表运行查询。
  7. 单独保存输入、输出和查询时间。

示例中的 `maxItems` 值将输出限制为一行指标。如果列表较大,却仍将其设为一,输出可能无法覆盖整个列表。请将提交的 ID 与结果比对,不要假定运行完成就意味着覆盖了每个预期视频。

以上是建议读者执行的操作。本指南未访问或测试任何私人归档文件,也未进行付费 Actor 运行。文档所述功能适合这项可选的公开信息核查,但这不能证明实际运行性能。

附加公开结果,同时保留所有事件

将公开信息输出保存在单独的表格中。原样保留返回值及其状态信息。

附加公开结果,同时保留所有事件
Actor 字段记录内容
`inputUrl`已提交的输入
`postId`返回的视频 ID(如有)
`postUrl`返回的视频链接(如有)
`title`当前可获取的视频标题
`publishedAt`视频发布时间值
`views`, `likes`, `comments`, `remixes`公开计数(如可获取)
`postMetricStatus`公开视频计数的可用性和精度
`status`返回结果的状态
`scrapedAt`公开信息采集时间

`comments` 字段表示评论数,不是评论文本。缺失的计数应继续标记为不可获取。请保留表示缺失值的 `null`,不要替换为零。同时保留精度信息;经过舍入的公开计数不能在报告中变成精确计数。Actor 输出规范

在这一版表格中,每个已核查的视频 ID 最多选用一条公开观测记录。如果之后再次查询,请另行保存,并说明使用的是哪一次观测记录。

关联是指通过相同的匹配值合并表格。请将选定的公开结果匹配到每个具有该已核查视频 ID 的事件。保留没有匹配结果的事件。如果失败结果没有返回 ID,请保留其提交输入的定位信息,并核查匹配关系。

检查可能导致事件数减少或增加的两类错误:

  1. 如果事件数减少,检查是否删除了未匹配的事件。
  2. 如果事件数增加,检查是否有多条公开结果匹配到了同一个事件。
  3. 确认每个原始事件的定位信息都恰好保留一次。
  4. 确认重复观看仍各自占一行。

公开信息查询失败,不能证明视频已删除、已设为私密、受到地区限制或暂时无法访问。除非有其他证据证实原因,否则应将原因保持为待确认。

操作示例:三个事件和两个视频 ID

本示例为原创虚构内容。事件标签和查询结果均为教学而编造,并非私人归档记录或 Actor 测试结果。

一份虚构的归档文件记录了视频 A 在 09:00 和 17:00 的观看事件,以及视频 B 在 18:00 的观看事件。这个简化示例没有提供日期或时区。请明确保留这些限制,不要根据这些值计算 UTC 时间。

操作示例:三个事件和两个视频 ID
虚构事件视频标签原始时间公开信息查询结果
E1A09:00元数据可获取
E2A17:00元数据可获取
E3B18:00元数据不可获取

事件表有三行。单独的查询列表包含两个视频 ID:A 和 B。在这次虚构查询中,A 返回了元数据,B 没有返回元数据。

以下计算使用了不同的计数单位:

  • A 的 2 个观看事件 + B 的 1 个观看事件 = 3 个观看事件。
  • A 的 1 个唯一 ID + B 的 1 个唯一 ID = 2 个唯一视频 ID。
  • 1 条元数据可获取的结果 + 1 条元数据不可获取的结果 = 2 条查询结果。
  • 关联前的 3 行事件 = 关联后的 3 行事件。

A 的两个事件都附加选定的 A 元数据。B 在 18:00 的事件仍然保留,元数据标记为不可获取。查询失败不会抹去已记录的观看。

报告应写明:记录了三个观看事件和两个唯一视频 ID。这些计数不代表去重后的人数,也不能证明归档文件包含当天的每个观看事件。

如果 B 的公开观看次数缺失,就保留缺失状态。将其写成零次公开观看,是这次虚构查询无法支持的数值结论。

核查归档覆盖范围和待确认状态

将申请的数据范围与实际包含的文件进行比对。在可行的情况下,选取部分归档记录,与“我的活动”中你能看到的历史记录比对。记录此次比对所用的账号、所核查的时段和比对日期。

YouTube 说明,关闭观看记录期间观看的视频不会出现在观看记录中。账号所有者也可以手动删除历史记录,或使用自动删除功能。公开视频详情无法重建这些缺失的私人事件。YouTube 观看记录控制设置

请分别处理不同问题:

核查归档覆盖范围和待确认状态
观察到的状态可以得出的结论下一步核查
缺少预期的观看记录文件预期的归档内容缺失复查所选数据和已下载分卷
无法确认时间事件时间仍不确定检查原始格式和来源时区
缺少视频 ID事件缺少经过核查、可用于查询的视频标识保留事件并检查其来源
已知 ID 尚未提交尚未进行公开信息查询仅在需要元数据时提交
公开信息查询失败当前元数据仍待确认保留结果,不猜测原因
预期时段没有记录覆盖范围待确认比对归档范围与账号所有者可见的历史记录

某个时段没有记录,不能证明该时段的观看次数为零。最早一行的时间很久远,也不能证明历史记录完整。解析成功只能证明处理过程读取了文件,不能证明 Google 提供了过去的每个事件。

确认表格可用之前,请核实所有归档分卷均已核对,原始值保持不变,时间问题仍有明确标记,并且每个保留的来源事件都在关联公开结果后继续保留。请将归档缺口与查询失败分开报告。

来源和延伸阅读

作者 Chronometrica · 更新日期

返回顶部 ↑