带有完整文本和稀疏文本的职位卡片进入来源页面检查。两张不完整的卡片留在复核组中。
对照来源检查已存储的描述。

采集设置

要采集职位数据,请使用 Indeed Jobs Scraper Actor,并采用 Indeed Jobs Scraper Task Preset 中已保存的输入。设置一个相关查询和国家/地区,`maxItems=2`、`maxPagesPerSearch=1` 以及 `saveOnlyUniqueItems=true`。Indeed 会自动尝试获取完整详情;读者不需要 fetchJobDetails 设置。通过 `scrapeCompanyDetails` 进行的公司信息补充仍然是分开的。

输出模式包含 `jobId`、`jobUrl`、`title`、`companyName`、`locationRaw`、`scrapedAt`、`descriptionStatus`、`descriptionText`、`descriptionSnippet` 和 `descriptionHtml`。其中,`descriptionText` 在可用时提供纯文本全文,`descriptionSnippet` 保存预览文本,`descriptionHtml` 作为保留的来源格式证据。仅有 HTML 并不能证明来源身份或完整性。你必须核对来源身份,并检查实际全文。

Actor 状态值严格为小写的 `full` 和 `missing`。仅摘要和不可用这两个类别,是读者用来分拣职位记录的复核分组,而不是承诺的 Actor 状态。仅凭状态或长度并不能证明文本完整。

采集方法

  1. 确定采集目的。决定你需要来源的哪些部分,例如职责和必要条件。这决定现有文本是否足够。简单的字数统计做不到这一点。
  2. 采集一个小型搜索样本。保留来源身份、文本字段、状态、观察时间和输出。检查已保存的行、上限和失败情况。
  3. 把职位记录分成三个工作分组:完整详情候选、仅摘要、不可用。如果状态显示 full 但文本为空,将其送去复核。如果状态未知,保留该记录并进行检查,不要猜测。
  4. 打开确切的职位链接,并核对来源职位 ID、标题、公司和地点。确认提取的职责和任职条件与该职位相符。推荐职位和搜索预览可能包含错误文本。
  5. 将来源中必需的章节与采集到的文本进行比对。缺少实质性章节时,分析保持待定。在有帮助时保留 `descriptionHtml` 作为来源格式证据,但请记住,仅有 HTML 既不能证明身份,也不能证明完整性。记录检查时间,因为来源可能在抓取之后发生变化。
  6. 对于仅摘要或不可用的情况,如果来源后来变为可访问,之后进行一次小规模重试可能有帮助,但不要无休止地循环,也不要突破访问限制。如果可以,请手动使用官方来源。将旧检查和新检查分开保存。如果全文仍然得不到,将该行排除在分析之外。
  7. 保存一份就绪台账,包含职位键、状态、必需章节、来源匹配结果、检查日期和决定。下游分析必须使用这一关卡,而不是使用一个会隐藏摘要的合并列。

虚构示例与结果

本节中的所有来源文本和检查都是编造的。四条已采集的职位列表展示其运作方式:

  • J1 的状态为 full。文本包含职责、工作地点和规则。职位 ID 和公司与来源相符。在已定义的分析中接受此条。
  • J2 的状态为 missing,归入仅摘要这一职位记录复核分组。预览给出一段简短介绍,但完整任职条件缺失。在检查全文之前,将其排除在要求分析之外。
  • J3 的状态为 missing,归入不可用这一职位记录复核分组。文本为 null。来源需要的访问当前不可用。将其保持为未知。
  • J4 的状态为 full,但这段长文本中的标题和公司与所请求的职位不同。复核这一不匹配。不要把长度或状态当作证明。
虚构示例与结果
职位列表Actor 状态来源匹配决定
J1full匹配已接受
J2missing摘要待定
J3missing不可用未知
J4full不匹配复核

被 Actor 标为 full 的行是 4 条中的 2 条,即 50%。经来源检查后就绪的行是 4 条中的 1 条,即 25%。这些数字衡量的是这个编造的小型来源测试用例中的不同阶段。两项说法都不是 Actor 的整体准确率分数。

如果后续检查为 J2 取得了适当的详情,请追加那次新检查。对于这同一个四条职位列表示例,就绪比例变为 4 条中的 2 条,即 50%。旧的历史状态保持不变。不要改写初始文件,也不要把后来的数值报告为初始覆盖率。最终产物是一份四行的状态与来源匹配台账,其中最初只有 J1 被放行,可用于要求分析。

来源和延伸阅读

作者 Chronometrica · 更新日期

返回顶部 ↑