2 张搜索查询卡片将视频送入覆盖矩阵。一处缺失的解释引出了一份课程大纲。

Actor 是一种托管运行的数据采集程序。本文比较我们的 Chronometrica YouTube Search Scraper 与 Streamers YouTube Scraper。比较聚焦于一个结果:得到一份规模小、实用且采集规则清楚的视频列表。

搜索组是事先声明的一组查询,按同一套固定规则采集。例如,你可以采集 2 个查询,并让它们共用一个数量上限。采集结果可用于研究、来源审阅或后续主题分析。但它不能证明已完整覆盖 YouTube。

本文使用的公开功能规范于 2026 年 10 月 20 日核查。示例输入已通过输入结构校验。该输入并未实际运行,因此没有实测采集数量或性能结果。

先确定每行代表什么,再选择 Actor

比较控制选项之前,先确定每行数据必须代表什么。

去重视频表中的每行代表一个不同的视频 ID。如果同一个视频出现在 2 个查询的结果中,去重视频表只为该视频保存 1 行。

一条查询/视频出现记录,代表某个视频出现在某个特定查询的结果中。同一个视频出现在不同查询的结果中时,可以分别形成多条出现记录。

这些计数单位回答不同的问题。去重视频表回答:“这个搜索组采集了哪些不同的视频?”出现记录表可以帮助回答:“每个查询的结果中出现了哪些视频?”不能假定一张表就能完整回答这 2 个问题。

Chronometrica 通过 `maxResults` 限制所有查询合计保存的去重视频数量。它会移除重复的视频 ID。输出通过 `rootQuery`、`query` 和 `querySource` 等字段提供查询上下文。输出和摘要也会保留查询统计。如果你需要一份数量受限的来源列表,并为每个保存的视频记录来源查询,这些功能就很有用。Chronometrica 公开功能规范

去重会带来一个直接结果:保留下来的一行无法保存该视频在各个查询中重复出现的全部记录。查询上下文有助于解释这一行,但记录一个来源查询,并不等于完整列出了找到该视频的所有查询。

如果你需要的正是这份去重来源列表,可以放心选择 Chronometrica。如果你需要完整的出现记录表,应先确认如何保留这些记录。不要假定去重后的导出数据包含这些记录。

比较会影响选择的控制选项

这 2 个 Actor 都能采集 YouTube 搜索结果,并设置结果数量上限。真正有用的区别在于,你的项目需要哪种采集规则。

比较会影响选择的控制选项
选择依据ChronometricaStreamers
本次比较关注的采集用途带有明确查询上下文的去重视频搜索组关键词搜索、直接使用 URL,以及更广泛的采集
数量限制全局去重视频数量上限和页数控制分别设置普通视频、Shorts 和直播的数量上限
查询顺序均衡轮询或顺序采集核对其输入结构是否符合你的采集规则
原生搜索控制选项查看文档中列出的搜索组输入选项排序、日期、视频类型、时长及其他筛选条件
附加选项本次选择仅聚焦于搜索采集字幕选项和可选的 AI 选项

来源:Chronometrica 输入结构、Streamers 输入结构。

假设你的研究需要原生的“过去 1 个月”筛选条件或时长筛选条件。可以考虑 Streamers 文档中列出的控制选项。不要假定 Chronometrica 有对应的输入选项。采集后再筛选,只会改变你保留哪些已保存的行。它不会在来源搜索中应用同样的规则。Streamers 输入结构

本次比较并未证实 Streamers 缺少查询上下文。选择 Chronometrica 的理由,是它对搜索组行为有明确的功能规范。应按你需要执行的规则来选择,而不是按列出的功能数量来选择。

用明确设置定义一个小型搜索组

先提出一个采集到的视频可以帮助回答的问题。例如:“要了解创作者如何讲解 2 项入门制作技能,我应该审阅哪些公开视频?”

然后写下原始查询。将它们与后续添加的标签或主题分组分开保存。这样,其他读者就能看到你要求来源返回什么。

下面的教学输入使用了 2 个拟定的查询。它们不是经过测量的搜索词,也不能证明存在买方需求。

json
{
  "queries": [
    "video lighting basics",
    "home audio recording"
  ],
  "maxResults": 6,
  "maxPagesPerQuery": 1,
  "searchDistribution": "balanced",
  "enableQueryExpansion": false
}
用明确设置定义一个小型搜索组

这份输入要求最多保存 6 个去重视频。每个查询允许读取 1 个后续结果页,并采用均衡轮询。查询扩展已关闭,因此声明的搜索组包含 2 个原始查询。这份输入已按公开输入结构完成校验,但并未实际运行。6 是数量上限,不是保证采集到的数量。Chronometrica 输入结构

视频形式规则也很重要。`includeShorts` 的默认值为 `true`。因此,除非你明确更改该设置,否则这个搜索组可能同时包含普通视频和 Shorts。输入结构中的其他默认设置也仍然生效,包括补充视频指标。应将这些默认设置与搜索组定义一起记录。否则,只阅读查询列表的人可能会误解你纳入了哪些内容。Chronometrica 输入结构

Task 是保存下来的输入预设。公开的导出 YouTube 搜索结果 Task可以作为起点。采集前,应核对其设置是否符合你写下的规则。预设能帮助你开始,但正确的输入仍由你声明的问题决定。

理解均衡轮询与顺序采集

Chronometrica 为 `searchDistribution` 提供 2 个值:`balanced` 和 `sequential`。均衡轮询会轮流处理各个查询,直到达到全局上限,或因来源限制、页数上限而停止。顺序采集则先从排在前面的查询采集结果。Chronometrica 输入结构

如果你希望在达到共享上限、结束采集之前,每个查询都有机会提供结果,就选择均衡轮询。当查询列表代表同一个研究问题的多个部分时,这种方式很有用。

均衡不代表保存数量相等。各查询返回的可用候选视频数量可能不同。它们也可能找到同一个视频。即使有 2 个查询、总上限为 6,也不能保证每个查询各保存 3 个视频。

如果查询优先级本就是研究设计的一部分,就选择顺序采集。将最重要的查询放在最前面。你需要接受:在后面的查询提供结果之前,前面的查询可能已经用掉更多共享额度。

`resultsPerQuery` 是顺序模式下每个查询的数量上限。不要用它来表示均衡模式下的固定配额。将它加入输入之前,应查看当前输入结构。Chronometrica 输入结构

这些选择会影响你如何解读保存的视频列表。某个查询提供的结果较少,可能源于采集规则、结果重叠或来源限制。单凭这一点,不能证明该主题的相关视频很少。

用虚构示例理解结果重叠

下面是供读者理解候选视频关系的虚构示例。它不是 Actor 的原生输出,不是实际观察到的采集顺序,也不是测试结果。

查询 A 的候选视频 ID 为 V1、V2 和 V3。查询 B 的候选视频 ID 为 V3、V4 和 V5。

每个查询都有 3 个候选视频,因此共有 6 条查询/视频出现记录。由于 V3 同时出现在 2 份列表中,不同的视频 ID 共有 5 个。

重复出现记录的数量为:

`6 encounters − 5 unique video IDs = 1 duplicate encounter`

重叠部分包含 1 个 ID:V3。全局上限为 6,并不能证明这些候选列表中存在 6 个不同的视频。列表中只有 5 个。

现在假设保留的 V3 数据行将查询 A 记录为来源查询。这一行有助于说明 V3 为什么出现在保存的来源列表中。但它没有保留 V3 在查询 B 中单独出现的那条记录。

除非你有证据支持那次出现,否则不要再添加一行 V3。在这个虚构示例中,我们提供了 2 份候选列表,以便看清区别。真实的去重导出数据本身未必能提供这种证据。

统计各查询提供的结果数量时,这个区别很重要。按记录的来源查询统计已保存的行,描述的是这些行。它不一定能统计出每个查询中出现过的所有候选视频。

研究结果重叠时,这个区别也很重要。仅凭去重导出数据,无法还原来源中 2 个完整结果集的精确重叠情况。应只说明现有数据能够支持的内容:保存了哪些不同的视频、记录了哪些上下文,以及已知的采集限制。

对于来源审阅列表,这些可能正是合适的统计单位。对于重叠研究,你需要能分别保留各次出现记录的证据。

采用 8 步采集方法

  1. 写下问题、查询和视频形式。说明这份列表将帮助你作出什么判断。将准确的原始查询字符串复制到研究记录中。明确搜索组包含普通视频、Shorts,还是两者都包含。看到结果后,如果要更改问题,必须记录这项更改。
  2. 设置采集限制。选择全局去重视频数量上限、页数上限和查询分配规则。首次建立受控搜索组时,保持查询扩展关闭。解释为什么这个上限适合你能完成的审阅工作。较小的上限便于你检查每一行已保存的数据,并在扩大采集前修正效果不佳的查询。
  3. 核对 Actor 的原生输入结构。确认 Actor 能接受你需要的规则。不要凭空假定存在均衡模式下的单查询配额、原生日期筛选条件或自动历史排名跟踪功能。如果某项必要规则没有文档说明的输入选项,应先解决这一缺口,再将该搜索组视为合适的证据。
  4. 采集一个小样本,并保留其上下文。保留运行记录的引用、声明的设置、视频 ID、公开 URL 和来源查询。Chronometrica 的文档除查询字段外,还列出了 `postId` 和 `postUrl`。用 ID 识别视频,用 URL 打开公开来源进行审阅。Chronometrica 公开功能规范
  5. 阅读查询统计和停止条件。查看每个查询提供了哪些结果,以及采集为何结束。一次已完成的运行仍可能受到数量上限或来源限制。将保存数量与声明的上限比较,但不要把数量较少视为已完整覆盖的证据。将停止原因与结果一起保存。
  6. 区分出现记录与保存的去重视频。使用实际单位描述每个数量。在笔记中保留没有明确贡献结果的查询。不要悄悄将它们从声明的搜索组中移除。缺失值应保持缺失;不要用 0 替代未知的数量或指标。
  7. 分析前先检查相关性。打开保存的公开 URL,核实视频是否能回答你的问题。使用同一套规则记录纳入决定。如果某个查询返回的主要是无关内容,应明确记录修改,并建立新的搜索组定义。不要在查询已更改的情况下,仍用同一份未更改的描述混合呈现结果。
  8. 重复观察时保持设置不变。如果再次采集,应分别保存每次运行及其日期和设置。这样更容易检查变化。单次采集无法确立趋势。保存的视频发生变化时,还需要结合数量上限、结果重叠、查询轮次和来源限制来解释。

这套方法带来的不只是一份链接列表。它还提供采集规则、可识别的来源,以及每行数据含义的清楚说明。这些已足以让首次审阅有用,而无需声称已完整覆盖搜索结果。

在适用范围内解读位置字段

Chronometrica 文档列出的输出字段包括 `pageIndex` 和 `pageRank`。`pageRank` 仅表示视频在所在结果页内的位置。它不是该查询全部结果中的稳定位置。Chronometrica 公开功能规范

当这些字段有助于解释返回的数据时,应保留它们。不要将页内位置改称为已证实的整体排名。重复采集也无法消除这一限制。

对可获取的视频和频道信息,也应同样谨慎。保留来源提供的值,并让未知值保持未知。指标为空,并不表示该视频没有获得播放或互动。

检查相关性之后,你可以用这份来源列表研究进一步的问题。例如,比较选定视频分别提供了哪些解释。我们的 YouTube 主题缺口分析方法介绍了下一阶段。应将采集工具的选择与内容判断分开:先明确采集了什么,再判断内容说明了什么。

来源和延伸阅读

作者 Chronometrica · 更新日期

返回顶部 ↑