
Actor 是在託管環境執行的資料收集程式。這 2 項產品都是 Apify Actors。我們是 Chronometrica 的發布者,並針對本文所述、範圍明確的貼文搜尋需求推薦它。本比較使用於 2026 年 10 月 20 日擷取的產品證據,未報告新的同條件比較測試、實測速度差異或價格優勢。
買家的問題很實際:如何在選定的子版中收集符合關鍵字的內容?一則 Reddit 公開提問就在尋找能滿足此需求的工具。提問者並未要求完整的 Reddit 資料封存。這則提問也不能證明每筆傳回的符合項目都有用。
先選定所需的記錄
關鍵字研究需要明確的輸出規格。也就是以文字寫出所需的記錄,以及每筆記錄必須說明的內容。
對於範圍明確的研究,規格可以是:以 1 個查詢在 2 個指定社群收集貼文,保留來源資料,並審查貼文的含義。你需要知道自己指定了哪個社群、每篇貼文實際出現在哪裡,以及哪些搜尋只傳回部分結果。
範圍較廣的資料收集工作需要不同的記錄類型。Trudax 文件列有貼文、留言、社群和使用者資料,也列有子版搜尋、排序和日期篩選功能。這個較廣的收集範圍,是在整合多種資料收集需求時選擇它的主要原因。Trudax 文件。
| 你需要完成的工作 | 建議選擇 | 選擇原因 |
|---|---|---|
| 審查指定社群中符合查詢且不重複的貼文 | Chronometrica | 提供指定與實際符合的子版欄位、查詢資訊,以及獨立的搜尋結果狀態 |
| 結合貼文搜尋與社群或使用者資料,或收集已知討論串中的留言 | Trudax Reddit Scraper Lite | 文件記載的資料收集模式較廣 |
資料來源:Chronometrica、Trudax。
設定任何一項工具前,先寫下所需的記錄類型。如果問題需要每篇貼文下方的留言,只有貼文清單就無法回答。如果決策只需要少量已審查的範例,也不必大量收集資料。
本文協助你選擇資料收集工具並定義輸出。若要改善查詢的相關性,請參閱如何追蹤 Reddit 關鍵字並減少無關結果。
Chronometrica 明確提供哪些資訊
Chronometrica 文件列有 5 項搜尋設定:`query`、選填的 `subreddits`、`maxResults`、`sort` 和 `time`。指定子版時,輸入可接受 1 至 20 個子版。這組精簡的設定適合範圍明確的貼文搜尋工作。Chronometrica 文件。
傳回的資料列保留 `inputQuery`、`requestedSubreddit`、`matchedSubreddit`、`canonicalPostUrl`、`postId`,以及可用性欄位。其 `OUTPUT` 也會分別列出各次搜尋的結果狀態,包括空結果、部分結果和失敗。這些資料讓你能檢查每篇已儲存貼文的來源,以及每次搜尋的狀態。Chronometrica 文件。
指定的社群與實際符合的社群回答不同的問題。`requestedSubreddit` 記錄搜尋時指定的社群。`matchedSubreddit` 記錄傳回的符合項目所屬的社群。審查時應比較這 2 個欄位。如果某筆記錄需要進一步檢查,請持續標示該問題,直到解決為止。
日後比較不同搜尋的結果時,查詢資訊很重要。即使同一篇貼文出現在多組研究資料中,你仍需要清楚知道是哪次搜尋找到它。請保留提供的 `inputQuery`,不要只依靠檔名或記憶。
使用 `postId` 識別研究記錄中的貼文。保留 `canonicalPostUrl`,讓審查者能返回來源。可用性資訊有助於記錄來源是否仍可查核。如果某個值缺失或無法取得,請保留該狀態。不要以 0 取代。
這些欄位有助於核對研究的來源範圍,也就是你為研究選定的社群和搜尋設定。它們不能證明貼文與研究相關。你仍須根據研究問題閱讀貼文,才能作出判斷。
執行前先了解總上限
上限是單次執行最多可儲存的記錄數。Chronometrica 的 `maxResults` 是整次執行所儲存之不重複貼文的總上限,不是每個子版各自的配額。已查核的結構描述允許的值為 1 至 10,000。Chronometrica 文件與結構描述。
如果指定 2 個子版,並將 `maxResults` 設為 `12`,請以總共最多儲存 12 篇不重複貼文來規劃。不要預期會有 24 篇,也不要假設每個社群都會提供 6 篇貼文。
這項差異會影響研究設計。總上限適合用於首次審查相關範例,但不能保證各社群的樣本數相同。如果必須取得相同數量,請在收集前明訂此要求,並檢查資料收集計畫能否達成。
如果你需要所有符合條件的貼文,且預期單次執行的結果會超過 10,000 篇不重複貼文,Chronometrica 就無法滿足這項單次執行要求。它也不保證涵蓋完整的 Reddit 資料。若達到上限,應將已儲存的貼文視為有數量上限的樣本,而非所有可用證據。Chronometrica 文件。
結果較少,不能證明沒有其他相關貼文。搜尋結果狀態、來源可用性、所選查詢和社群清單,都會影響你能得出的結論。
從小規模且已查核的輸入開始
公開的 Search Posts in Subreddits Task 提供可作為起點的預設設定。Task 是已儲存的輸入預設設定。執行前請檢查輸入;公開頁面的存在,並不能證明目前儲存的設定已經核實。
此範例使用已查核的欄位名稱和值:
{
"query": "open source AI",
"subreddits": [
"LocalLLaMA",
"MachineLearning"
],
"maxResults": 12,
"sort": "new",
"time": "month"
}提供的輸入已通過所擷取公開 JSON Schema 的檢查。JSON Schema 定義允許使用的輸入欄位和值。這項檢查確認了輸入結構,但不能證明實際搜尋會傳回貼文。本比較並未執行資料收集。Chronometrica 輸入結構描述。
請將查詢和社群名稱改為你要研究的公開來源。選擇工具支援且符合研究需求的時間與排序設定。收集前先記錄這些設定,讓其他審查者了解你原本要執行的搜尋。
例如,審查近期討論需要明訂時間範圍。審查有用的範例需要以文字寫出相關性規則。即使收集輸入很簡單,這些選擇仍應列入研究計畫。
虛構範例:儲存 12 篇貼文,採納 9 篇
以下是虛構範例,不是 Actor 測試、實際資料集或實測的客戶結果。
一位分析師研究 2 個指定子版中有關開源 AI 的討論。分析師將不重複貼文的總上限設為 12 篇。在此研究中,相關貼文必須討論使用開源 AI 模型時的實際選擇。只順帶提到該詞組並不符合條件。
這次虛構搜尋從其中 1 個社群儲存 7 篇不重複貼文,從另 1 個社群儲存 5 篇:
`7 + 5 = 12 unique saved posts`
分析師比對 `requestedSubreddit` 與 `matchedSubreddit`,並保留每篇貼文的 `postId`。接著,分析師閱讀全部 12 篇貼文。其中 3 篇包含搜尋詞組,卻未涉及研究問題。符合條件的有 9 篇:
`12 saved posts − 3 irrelevant posts = 9 accepted posts`
全部 12 篇都可以是有效的搜尋結果,但只有 9 篇能成為有用的證據。收集是否成功與內容是否符合研究需求,是 2 項不同的檢查。
此範例也說明,必須仔細理解總上限。2 個社群合計的上限為 12 篇,不是 `12 × 2 = 24`。7 篇與 5 篇的分布,不能證明其中 1 個社群較常討論此主題。這只描述已儲存的樣本。
分析師可以使用這 9 篇獲採納的貼文,研究其中的問題與疑慮。但不能只憑這組小規模關鍵字樣本,估計這些疑慮在整個 Reddit 上有多普遍。
使用 5 步驟驗收方法
1. 定義問題與來源範圍
列出關鍵字、子版、預定的時間設定和排序設定。接著,用 1 句話定義何種貼文符合研究需求。
實用的相關性規則會指出研究主題和所需證據。「包含我們的關鍵字」是資料收集規則。「描述此產品類別的實際問題」則更接近研究規則。請選擇能支援決策的規則。
在自己的研究筆記中保留一份搜尋管理表。記錄查詢、指定社群、預定設定、總上限和收集日期。這份表格可說明你要求工具收集哪些資料,也能避免後續讀者將未明確定義的搜尋視為完整研究。
2. 選擇資料收集模式
依所需的記錄類型選擇產品。對於範圍明確的貼文搜尋資料集,Chronometrica 文件記載的欄位與搜尋結果狀態適用於這套驗收方法。Chronometrica 文件。
使用 Trudax 搜尋模式時,請清空 `startUrls`,或使用符合你搜尋目的的搜尋網址。其 README 說明,`startUrls` 的優先順序高於搜尋設定。Trudax 文件。
開始前請檢查實際輸入。即使產品合適,若輸入未準確表達你的工作需求,仍可能收集到不合用的資料。
3. 設定上限並保留不重複的觀察記錄
將已儲存貼文的總上限設在你能完成審查的數量。首次收集應維持小規模,以便在收集更大樣本前,找出相關性規則不清楚之處。
每篇不重複貼文只保留 1 筆研究觀察記錄。保留貼文識別碼、來源網址、查詢資訊和社群欄位。將審查筆記與收集的原文分開,讓讀者能區分來源內容與你的判斷。
不要假設各社群的資料列數相同。如果比較需要各組樣本數均衡,請將此要求明列為驗收條件。收集後,先檢查這項條件,再比較各組。
4. 檢查搜尋結果狀態與來源資料
除了貼文資料列,也要閱讀每次搜尋的結果狀態。空結果、部分結果和搜尋失敗,需要不同的處理方式。Chronometrica 文件分別說明了這些狀態。Chronometrica 文件。
空結果只說明該次搜尋傳回的內容,不能證明沒有人討論此主題。若只有部分結果,必須清楚標示結論的限制。搜尋失敗則仍屬未解決狀態,直到你能評估或重新執行該次搜尋。
比較指定與實際符合的社群、檢查貼文識別碼,並保留可用性資訊。在搜尋管理表中保留尚未解決的搜尋。若移除這些搜尋,就會讓已完成的資料收集看似涵蓋了超出證據所支持的範圍。
5. 閱讀每篇貼文並記錄判斷
在自己的筆記中使用簡短的驗收代碼,例如 `accept`、`reject` 和 `unknown`。這些是建議供分析師使用的標籤,並不表示 Actor 輸出欄位包含這些值。
貼文內容符合相關性規則時,予以採納。明確不符合時,予以排除。若因內容缺失或含義不明而無法判斷,請使用 `unknown`。附上簡短原因,讓其他人能檢查你的判斷。
分別報告已儲存、已採納、已排除和尚未確定的貼文數。只有在確認數量為 0 時,才記為 0。請持續標示缺失或未知的值。
這套方法可產生供人審查的樣本,但不能將搜尋摘要或傳回的貼文轉為衡量主題在整個 Reddit 上普遍程度的指標。若需要更多設定研究範圍的協助,請參閱 Reddit 客戶研究範圍。
確認樣本有用後,再加入監測
定期重複收集關鍵字資料,並針對變化採取行動,才構成監測。本比較並未證實有自動傳送警示的功能。如果需要通知,請另設排程與傳送步驟。
先確認查詢能找到有用的貼文。接著決定收集頻率、如何識別已審查的貼文,以及由誰接收已採納的結果。保留 `postId`,可讓流程利用貼文識別碼與先前的觀察記錄比對。你的監測流程必須執行這項比對。
每次排程搜尋都應保留資料收集的結果狀態,否則搜尋失敗可能被誤認為該時段沒有動靜。同樣地,也要持續標示未知結果。
警示也需要審查規則。提及關鍵字的內容可能值得審查,卻不一定需要立即通知。合適的門檻取決於接收者能採取的行動。增加收集量前,先用少量已審查的樣本測試這項判斷。
來源與延伸閱讀
作者 Chronometrica · 更新日期
返回頂端 ↑