

# Chronometrica 與 Streamers 比較：為有數量上限的影片清單選擇 YouTube 搜尋 Actor

如果你需要依固定查詢收集不重複的 YouTube 影片清單，並設定數量上限及明確記錄查詢來源，我們推薦 Chronometrica。其文件列出的控制項很適合這項工作。如果你需要 Streamers 的原生搜尋篩選條件、字幕選項，或範圍更廣的擷取作業，則選擇 Streamers。主要選擇在於：你需要查詢組的收集統計，還是更豐富的搜尋控制項。[Chronometrica 公開規格](https://apify.com/chronometrica/youtube-search-scraper)、[Streamers 公開規格](https://apify.com/streamers/youtube-scraper)

Actor 是託管執行的資料收集程式。本文比較我們的 Chronometrica YouTube Search Scraper 與 Streamers YouTube Scraper。重點是取得一份精簡、實用的影片清單，而且你能清楚說明其收集規則。

搜尋查詢組是事先列明的一組查詢，並依同一套固定規則收集結果。例如，你可以收集 2 個查詢的結果，並共用 1 個數量上限。結果可用於研究、來源審查或後續主題分析。但這不能證明已完整涵蓋 YouTube。

本文使用的公開規格已於 2026 年 10 月 20 日核對。範例輸入已通過結構定義檢查，但未實際執行，因此沒有實測的收集數量或效能結果。

## 先決定每列代表的單位，再選擇 Actor

比較控制項之前，先決定每列資料必須代表什麼。

不重複影片資料列代表 1 個不同的影片 ID。如果同一部影片出現在 2 個查詢中，不重複影片資料表只會為該影片保留 1 列。

查詢／影片出現紀錄，代表某部影片出現在某個特定查詢中。同一部影片出現在不同查詢時，可以產生各自獨立的出現紀錄。

這些單位回答不同的問題。不重複影片資料表回答的是：「這個查詢組收集了哪些不同的影片？」出現紀錄資料表則有助回答：「每個查詢出現了哪些影片？」你不能假設同一份資料表能完整回答這 2 個問題。

Chronometrica 透過 `maxResults`，限制所有查詢合計儲存的不重複影片數量。它會移除重複的影片 ID。輸出透過 `rootQuery`、`query` 和 `querySource` 等欄位，提供查詢脈絡。輸出與摘要也會保留查詢收集統計。如果你需要有數量上限的來源清單，並為每部已儲存的影片記錄來源，這些都是實用的優點。[Chronometrica 公開規格](https://apify.com/chronometrica/youtube-search-scraper)

去除重複資料會帶來直接影響。保留的資料列無法保存每筆重複的查詢／影片出現紀錄。查詢脈絡有助說明資料列，但記錄 1 個來源，不等於完整列出所有找到該影片的查詢。

如果你需要的結果就是這種不重複的來源清單，可以放心使用 Chronometrica。如果你需要完整的出現紀錄資料表，請先確認要如何保存這些紀錄。不要假設去重後的匯出資料包含這些紀錄。

## 比較會影響選擇的控制項

這 2 個 Actor 都能收集 YouTube 搜尋結果，並設定結果數量上限。真正有用的區別，是你的專案需要哪一種收集規則。

| 選擇考量 | Chronometrica | Streamers |
| --- | --- | --- |
| 本次比較的收集重點 | 收集不重複影片的查詢組，附有明確的查詢脈絡 | 關鍵字搜尋、直接網址及範圍更廣的收集 |
| 上限 | 不重複影片總數上限及頁數控制 | 分別設定一般影片、Shorts 及直播的數量上限 |
| 查詢順序 | 均衡輪流或依序執行 | 依你的收集規則核對其結構定義 |
| 原生搜尋控制項 | 核對文件列出的查詢組輸入設定 | 排序、日期、影片類型、長度及其他篩選條件 |
| 其他選項 | 本次選擇以搜尋收集為重點 | 字幕選項及可選用的 AI 選項 |

來源：[Chronometrica 輸入結構定義](https://apify.com/chronometrica/youtube-search-scraper/input-schema)、[Streamers 輸入結構定義](https://apify.com/streamers/youtube-scraper/input-schema)。

假設你的研究需要原生的最近 1 個月篩選條件，或影片長度篩選條件。請考慮 Streamers 文件列出的控制項。不要假設 Chronometrica 有相同的輸入設定。收集完成後才篩選，改變的是保留哪些已儲存的資料列。這並未將相同規則套用到來源搜尋。[Streamers 輸入結構定義](https://apify.com/streamers/youtube-scraper/input-schema)

這項比較並未證明 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 輸入結構定義](https://apify.com/chronometrica/youtube-search-scraper/input-schema)

影片形式的規則也很重要。`includeShorts` 預設為 `true`。因此，除非你明確變更這項設定，否則這個查詢組可以包含一般影片和 Shorts。結構定義中的其他預設值仍然生效，包括補充影片指標資料。請將這些預設值記錄在查詢組定義中。否則，只閱讀查詢清單的人可能會誤解你收集了哪些內容。[Chronometrica 輸入結構定義](https://apify.com/chronometrica/youtube-search-scraper/input-schema)

Task 是已儲存的輸入預設組。公開的[匯出 YouTube 搜尋結果 Task](https://apify.com/chronometrica/youtube-search-scraper/examples/export-youtube-search-results) 可作為起點。收集前，請依你寫下的規則核對其設定。預設組有助你開始操作，但正確的輸入仍取決於你事先列明的問題。

## 了解均衡與依序收集

Chronometrica 的 `searchDistribution` 提供 2 個值：`balanced` 和 `sequential`。均衡模式會輪流執行各個查詢，直到總數上限、來源限制或頁數上限使收集停止。依序模式則優先收集排在前面的查詢。[Chronometrica 輸入結構定義](https://apify.com/chronometrica/youtube-search-scraper/input-schema)

如果你希望每個查詢在收集達到共用上限之前，都有機會提供結果，請選擇均衡輪流方式。當查詢清單代表同一研究問題的不同部分時，這種方式很實用。

均衡不代表儲存數量相同。各個查詢傳回的可用候選影片數量可能不同。它們也可能找到同一部影片。即使有 2 個查詢且上限為 6，也不要承諾每個查詢都能儲存 3 部影片。

如果查詢優先順序是設計的一部分，請選擇依序方式。將最重要的查詢放在最前面。你必須接受：在後續查詢提供結果之前，前面的查詢可能已用掉較多共用額度。

`resultsPerQuery` 是依序模式中每個查詢的數量上限。不要用它來表示均衡模式中的固定配額。將它加入輸入前，請先核對目前的結構定義。[Chronometrica 輸入結構定義](https://apify.com/chronometrica/youtube-search-scraper/input-schema)

這些選擇會影響你如何解讀已儲存的清單。某個查詢提供的結果較少，可能是因為收集規則、結果重疊或來源限制。單憑這一點，不能證明該主題的相關影片很少。

## 逐步分析虛構的重疊範例

以下是供讀者分析的虛構候選影片範例。它不是 Actor 的原生輸出，也不是觀察到的收集順序或實測結果。

查詢 A 的候選影片 ID 為 V1、V2 和 V3。查詢 B 的候選影片 ID 為 V3、V4 和 V5。

每個查詢各有 3 部候選影片，因此共有 6 筆查詢／影片出現紀錄。由於 V3 同時出現在 2 份清單中，所以只有 5 個不重複的影片 ID。

重複出現紀錄的數量為：

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

重疊部分包含 1 個 ID：V3。總數上限為 6，不代表這些候選清單中就有 6 部不同影片。清單中只有 5 部。

現在假設保留的 V3 資料列將查詢 A 記為來源。這一列有助說明 V3 為何出現在已儲存的來源清單中。但它沒有保存 V3 在查詢 B 中的另一筆出現紀錄。

除非你有該筆出現紀錄的證據，否則不要新增第 2 列 V3。在這個虛構範例中，我們提供了 2 份候選清單，讓差異清楚可見。實際使用時，單靠去重後的匯出資料，未必能提供這項證據。

計算各查詢提供的結果數量時，這個差別很重要。依已記錄的來源計算已儲存資料列，只能說明這些資料列的分布。這不一定能計算出每個查詢遇到的所有候選影片。

研究重疊情況時，這個差別也很重要。只靠 2 組完整來源結果去重後的匯出資料，無法還原它們精確的重疊情況。請說明現有資料能支持的內容：已儲存的不重複影片、其已記錄的脈絡，以及已知的收集限制。

對來源審查清單而言，這些可能正是合適的單位。若要研究重疊情況，你需要能保留各筆獨立出現紀錄的證據。

## 採用 8 步驟收集方法

1. 寫下問題、查詢及影片形式。說明這份清單將協助你做出什麼決定。將完全相同的原始查詢字串複製到研究紀錄中。註明查詢組包含一般影片、Shorts，還是兩者都包含。看到結果後，若要更改問題，請務必記錄變更。
2. 設定收集上限。選擇不重複影片總數上限、頁數上限及查詢分配規則。首次執行受控查詢組時，保持查詢擴展關閉。說明為何這個上限符合你能完成的審查量。較小的上限便於你檢查每列已儲存資料，並在擴大收集前修正不合適的查詢。
3. 核對原生輸入結構定義。確認 Actor 接受你需要的規則。不要憑空假定它有均衡模式的每個查詢配額、原生日期篩選條件，或自動追蹤歷史排名的功能。如果必要規則沒有文件列出的輸入設定，請先解決這項缺口，再將查詢組視為合適的證據。
4. 收集小量樣本，並保留其脈絡。保留執行紀錄的參照、事先列明的設定、影片 ID、公開網址及查詢來源。Chronometrica 文件列出的欄位，除了查詢欄位，還包括 `postId` 和 `postUrl`。使用 ID 識別影片，並透過網址開啟公開來源進行審查。[Chronometrica 公開規格](https://apify.com/chronometrica/youtube-search-scraper)
5. 閱讀查詢收集統計與停止條件。檢查每個查詢提供了什麼結果，以及收集為何停止。即使執行已完成，結果仍可能受到數量上限或來源限制。比較已儲存數量與事先設定的上限，但不要將較低的數量視為已完整涵蓋搜尋結果的證明。將停止原因與結果一併保存。
6. 區分出現紀錄與已儲存的不重複影片。使用實際單位說明每個計數。在筆記中保留沒有明確提供結果的查詢。不要在未說明的情況下，將它們從事先列明的查詢組中移除。缺失值應保持缺失；不要用 0 取代未知的計數或指標。
7. 分析前先審查相關性。開啟已儲存的公開網址，檢查影片是否能回答你的問題。使用一致的規則記錄納入決定。如果某個查詢主要傳回不相關內容，請明確記錄修改，並建立新的查詢組定義。不要將已變更查詢的結果，混放在同一份未更新的說明之下。
8. 重複觀察時保持設定不變。如果再次收集，請分別保存每次執行的結果、日期及設定。這樣較容易檢查變化。單次收集無法證明趨勢。解讀已儲存影片的變化時，也必須考慮數量上限、結果重疊、查詢執行順序及來源限制。

這個方法提供的不只是一份連結清單。它也提供收集規則、可識別的來源，以及每列資料含義的清楚說明。這足以讓首次審查產生實際用途，而無須聲稱已完整涵蓋搜尋結果。

## 依位置欄位的限制解讀資料

Chronometrica 文件列出的輸出欄位包括 `pageIndex` 和 `pageRank`。`pageRank` 只表示所在結果頁內的位置。它不是整個查詢中穩定不變的位置。[Chronometrica 公開規格](https://apify.com/chronometrica/youtube-search-scraper)

如果這些欄位有助說明傳回的資料，請保留它們。不要將單頁內的位置改稱為已證實的整體排名。重複收集也無法消除這項限制。

對可取得的影片與頻道資料，也應同樣謹慎。保留來源提供的數值，未知值則維持未知。指標空白不代表影片沒有任何活動。

完成相關性審查後，你可以使用來源清單探討下一個問題。例如，你可以比較所選影片提供了哪些說明。我們的 [YouTube 主題缺口方法](/zh-Hant/articles/%E4%BB%A5%E9%99%90%E5%AE%9A%E9%97%9C%E9%8D%B5%E5%AD%97%E7%B5%84%E6%89%BE%E5%87%BA-youtube-%E4%B8%BB%E9%A1%8C%E7%BC%BA%E5%8F%A3/)介紹了這個後續階段。請將收集工具的選擇分開處理：先確認你收集了什麼，再判斷內容顯示了什麼。

## 從 2 個查詢開始，檢查 1 列資料

選擇 2 個相關查詢，並寫下它們要回答的問題。設定較小的總數上限，選擇均衡輪流或依序執行，並明確列出影片形式規則。如果這種有數量上限、只保留不重複影片的規格符合你的工作需要，請使用 [Chronometrica YouTube Search Scraper](https://apify.com/chronometrica/youtube-search-scraper)。

執行小型查詢組，然後檢查 1 列保留的資料。依收集筆記核對其影片 ID、公開網址及已記錄的查詢來源。擴大收集前，先閱讀查詢收集統計與停止條件。如果結果符合你事先列明的規則，就可以在清楚了解每列已儲存資料含義的情況下，擴大查詢組。

## 來源與延伸閱讀

- [Chronometrica YouTube Search Scraper：公開規格](https://apify.com/chronometrica/youtube-search-scraper)
- [Chronometrica：目前的輸入結構定義](https://apify.com/chronometrica/youtube-search-scraper/input-schema)
- [匯出 YouTube 搜尋結果：公開 Task](https://apify.com/chronometrica/youtube-search-scraper/examples/export-youtube-search-results)
- [Streamers YouTube Scraper：公開規格](https://apify.com/streamers/youtube-scraper)
- [Streamers：目前的輸入結構定義](https://apify.com/streamers/youtube-scraper/input-schema)
- [Stack Overflow：觀察到的 YouTube 搜尋結果收集問題](https://stackoverflow.com/questions/45362731/how-can-i-scrape-videos-from-a-youtube-search)