职位要求与技能证据卡片、审核表格及一小组有序排列的条目相连。

先根据下一项任务作出选择。需要比较职位名称、公司和地点的代理,需要的是职位记录。需要查找更多雇主的代理,需要的是可能提供信息的来源页面。这两项任务分别以职位记录和来源页面为处理单位。选对处理单位,下一步就会明确。

Chronometrica 是我们的工具。对于本文所述的结构化职位任务,我们推荐使用它。主要限制在于采集范围:它采集的是 Google Jobs 在所选搜索条件和条目上限下返回的内容。它不提供完整的雇主索引,也不提供经核实仍在招聘的职位。Actor 文档

!职位要求与技能证据卡片、审核表格及一小组有序排列的条目相连。

选择下一步所需的记录

Actor 是在 Apify 上托管运行的采集程序。在这项比较中,关键问题是:每条采集记录能让代理接下来做什么。

Chronometrica 的文档规定,每次运行内的 Google `jobId` 不重复。每条职位记录包含 `title`、`companyName`、`location`、`description`、`postedAtRaw`、`applyOptions`、来源 URL 和 `observedAt`。这些字段适合组成供代理筛选的职位表。文档所述的输出

Apify Google Search 的文档说明,其常规自然搜索路径提供搜索结果观测记录和页面链接。它还提供更丰富的搜索控制选项,以及可选的网站内容采集功能。因此,它适合用来查找招聘页面和其他潜在来源。文档所述的搜索路径

选择下一步所需的记录
决策要点Chronometrica Google JobsApify Google Search
文档所述的起始单位1 条结构化的 Google 职位记录1 条带有页面链接的搜索结果观测记录
在本文场景中最适合的用途根据返回的职位字段进行筛选查找可能提供信息的来源页面
仍需补充的证据核查来源的当前信息和应聘资格获取页面、识别职位并核查应聘资格

表中的产品详情来自 Chronometrica 文档和 Apify 文档。

在提出宽泛的采集请求之前,先明确这一区别。“查找 5 条职位记录以供审核”为代理指定了明确的输出。“查找 5 个招聘页面以供检查”指定的是另一种输出。“查找 5 个好机会”这样的请求,则没有说明采集单位和通过审核的规则。

切换条件很简单。需要数量有限的职位记录时,先用 Chronometrica。当需求超出返回的职位集合时,切换到来源页面发现。一个工作流程可以包含这 2 个阶段,但应将各阶段的记录分开保存。

为什么更多搜索链接未必能解决求职任务

一篇关于求职代理的公开亲述报告,描述了先尝试从固定公司获取信息,再使用通用网页搜索的过程。作者仍然遇到无法处理的页面、信息时效不明,以及职位或地点不匹配的问题。这篇报告有助于理解工作流程中的问题,但它不是受控的产品对比。公开报告

实际可用的经验是:先明确搜索步骤必须交付什么。找到一个页面,并不能证明页面中有合适的职位。找到一条职位记录,也不能证明雇主仍在接受申请。

例如,代理可能找到一个列有多个部门的公司招聘页面。接下来,它必须识别具体职位。这个职位可能要求在另一座城市工作,或要求不同的经验水平。虽然该页面没有产生通过审核的候选职位,但它仍然是有效的页面发现结果。

这一区别有助于找出尚未完成的工作。如果代理缺少雇主信息来源,继续发现来源就有用。如果它已有足够的来源,却无法评估职位,增加链接可能只会增加审核工作,而无法解决决策问题。

该报告支持根据工作流程阶段作出选择。它不能证明任何一款 Actor 在成本、速度、覆盖范围或准确性方面具有优势。本文没有将报告中的支出和采集结果用作基准。

Chronometrica 适用于什么情况,其限制何时会影响选择

如果你当前需要的是一个设有明确条目上限的职位表,可以放心选择 Chronometrica。文档所述的职位字段,可让代理直接开始字段审核。输入包含 4 个字段:`market`、`queries`、1 个共用的 `location`,以及 `maxItems`。输入和输出规范

当请求要求“所有结果”时,这一范围限制很重要。已核查的模式允许 `maxItems` 取值为 1 至 1000。如果你的原始需求是单次运行超过 1000 条,这款 Actor 无法满足该需求。把请求减少到 1000 条,是改变需求,并不是满足原始需求。即使在这个上限以内,返回的记录也不能证明覆盖完整。已核查的输入限制

设置较小上限的运行仍然可以满足有用的需求。审核人员可能希望先检查 5 条记录,再决定是否采集更多记录。这是一项范围有限、停止条件明确的审核任务。它不需要声称覆盖市场上的每个职位。

本次比较所审阅的证据采集于 2026 年 10 月 20 日。Google Jobs 审核包含一次设有上限的采集所返回的 3 条有用记录。这只能支持对返回记录作出有限的观察结论。它不能证明存在完整的跨公司索引,不能证明职位已经核实且仍在招聘,也不能证明信息时效更好。本文没有进行新的运行,也没有在相同条件下测试竞品。

任何一款 Actor 都不能单独确定简历匹配度、雇主意向或申请是否成功。匹配和申请操作应通过单独核查的工作流程处理。采集结果必须先进入审核,才能作为这些决策的依据。

从符合请求的小规模输入开始

Task 是 Apify 上保存的输入预设。公开的 Google Jobs 技术招聘 Task 提供了一个起始预设。运行前,请检查实际保存的输入。公开的 Task 页面不能证明当前保存了哪些输入值。

对于一个虚构的请求,即获取多伦多最多 5 条数据分析师职位记录,可使用:

json
{
  "market": "CA-en",
  "queries": [
    "data analyst"
  ],
  "location": "Toronto, Ontario, Canada",
  "maxItems": 5
}
从符合请求的小规模输入开始

这份输入通过了基于缓存的公开 JSON Schema 的检查。JSON Schema 定义了允许使用的字段和值。本文没有实际运行这份输入。该检查确认的是输入结构,不能证明实时来源会返回 5 条记录。

已核查的模式允许 `market` 使用 `CA-en`,`queries` 包含 1 至 100 个条目,`location` 使用文本值,`maxItems` 使用 1 至 1000 的整数。所有查询共用同一个地点。当前模式的证据

应将这些设置理解为采集指令。`market` 用于选择 Google 站点和语言。它不是严格的地点、国籍或工作资格筛选条件。地点设置也需要在后续根据职位本身进行核查。搜索词可以引导采集,但不能证明返回的每个职位都符合用户规则。

采集前,写明预期单位和上限:“最多 5 条职位观测记录,以供审核。”这样,即使结果较少,也能理解其含义。它还可以防止后续流程把请求上限当成必定提供 5 个合格职位线索的承诺。

保留 3 张含义明确的表

分别使用独立的表保存来源页面观测记录、职位观测记录和通过审核的候选职位。观测记录说明流程在指定时间发现了什么。是否通过审核,则是随后根据用户规则作出的决定。

对于来源页面观测记录,保留搜索查询、结果排名和来源 URL。添加审核状态,让代理能够区分尚未阅读的页面和已经检查的页面。一个页面可能没有职位,也可能包含 1 个或多个职位。提取记录时,要明确保留这种对应关系。

对于职位观测记录,保留 `jobId`、职位字段、来源 URL 和 `applyOptions`。将 `observedAt` 与采集记录一同保存。这些字段可让后续检查指向同一条观测记录,而不必仅凭职位名称进行判断。文档所述的标识规则适用于单次运行内;它并不能建立不同运行之间的历史关联。Chronometrica 记录规范

对于通过审核的候选职位,保存对应职位观测记录的引用,以及通过审核所依据的证据。同时记录审核时间和简短的决策理由。如果某项必需事实缺失,就将其保留为未知。不要把缺失值改成 0,也不要把尚未回答的应聘资格问题当成已经获准。

尚未解决的记录应有单独的状态。例如,无法读取的页面应标记为待解决,除非其他证据足以支持决策。这与明确不符合地点规则的职位不同。这一区别有助于下一位审核人员决定,是重试获取页面,还是停止处理该职位。

这种表设计也能确保计数准确。10 个来源页面、10 条职位观测记录和 10 个通过审核的候选职位,代表不同的结果。展示每个计数时,都要注明单位。

进行简短的来源和应聘资格审核

生成所需的观测记录后,采集阶段即完成。每条观测记录都有证据支持的决定,或明确的待解决状态后,审核阶段才算完成。

  1. 明确下一步。确定代理需要筛选职位字段,还是查找更多雇主信息来源。先选择记录类型,再选择 Actor。
  2. 明确采集请求。对于职位记录,检查 Task 的查询、市场、共用地点和条目上限。对于页面发现,保存确切的通用搜索查询。
  3. 保留来源引用。将职位标识和申请选项与职位记录一同保存。将查询、排名和来源 URL 与页面观测记录一同保存。
  4. 检查来源的当前证据。打开评估具体职位所需的雇主页面或来源页面。记录支持审核结论的内容。
  5. 应用用户规则。检查职位、资历级别、地点和应聘资格。保存通过、拒绝和待解决的决定,并附上观测时间和审核时间。

审核前先定义规则。“多伦多”可能指在多伦多办公室工作、明确说明的混合办公安排,或允许远程工作的地点。如果这一区别会影响是否通过审核,就向用户确认。资历级别和所需工作资格也应如此处理。明确的规则可以减少缺少依据的决定。

谨慎处理时间字段。`postedAtRaw` 是来源中描述职位已发布多久的文本。`observedAt` 是采集时间。这 2 个字段都不能确定准确的发布时间,也不能证明职位仍在招聘。应根据来源的当前证据作出判断。字段文档

对于页面获取环节,可参考现有指南:为网页搜索代理提供经过核查的页面证据。该指南介绍证据处理步骤。本文的比较则帮助你决定,应将采集到的哪类记录用于该证据审核步骤。

匹配、历史记录和申请操作,只应通过单独核查的工作流程加入。将最初这项决策的范围控制在便于核验的程度。

一个核对了计数单位的虚构示例

以下示例为虚构内容。它不是 Actor 测试、实时数据集、买家引述或实测成本结果。

一个虚构的代理需要 5 条职位观测记录,供后续审核。用户已定义职位和地点规则。Google Jobs 路径返回了 5 条结构化观测记录。随后,单独进行的来源当前信息和应聘资格审核通过了 3 条,拒绝了 2 条。

结果为:

5 条职位观测记录 − 2 条被拒绝的观测记录 = 3 个通过审核的候选职位。

示例到此结束。它不能确定该 Actor 的实测审核通过率。其他查询、用户规则或采集时间,都可能产生不同的结果。

再考虑一条提供了 5 个候选招聘页面链接的发现路径。代理仍需获取这些页面并提取职位,才能将结果作为职位记录进行比较。一个页面可能包含多个相关职位,另一个页面则可能没有。因此,5 个链接并不等于 5 个职位。

无论哪条路径,返回 5 条记录都不等于获得了 5 个合格职位线索。审核才能确定哪些记录符合用户规则。因此,应先比较所需的输出单位,再评估由此得到的证据。

如果代理已有足够的职位观测记录可供下一次审核,就使用这些记录。如果它需要查找返回集合之外的雇主,就开始搜索相关来源页面。根据尚未完成的工作作出决定。

来源和延伸阅读

作者 Chronometrica · 更新日期

返回顶部 ↑