4. 数据获取与预处理

招聘岗位数据与企业景气因子的实战分析,成败往往不在模型,而在数据入口。岗位数据来自招聘网站、企业官网、API 接口,格式各异、噪声极多;景气因子又依赖统计口径与时间频率。若获取与预处理环节失控,后续建模只是在放大误差。本节围绕四个关键动作展开:采集、清洗、解析、对齐。

一、核心原理:数据入口决定分析上限

招聘数据本质上是非结构化文本 + 半结构化字段的混合体。岗位名称、薪资、地点、经验要求可能藏在标题、正文或标签中;企业景气因子则来自统计公报、行业指数或财报,频率可能是日、周、月、季。两者要进入同一张分析表,必须经过统一的时间轴与字段口径。

采集阶段的核心是合法、稳定、可复现。网络爬虫适合公开页面,但需遵守 robots 协议、控制频率、设置 User-Agent;API 采集更稳定,但要注意配额、鉴权与字段版本。无论哪种方式,都应保留原始快照,便于回溯。

预处理的目标不是“把数据变干净”,而是“把数据变成可比较、可对齐、可解释的分析单元”。

二、方法流程:从采集到对齐的四步链路

第一步是采集与落库。爬虫建议采用“列表页 + 详情页”两级抓取,列表页负责发现岗位链接,详情页负责抽取字段。API 采集则按分页参数循环拉取,并记录请求日志。

# 示例:API 分页采集伪代码
for page in range(1, max_page + 1):
    resp = requests.get(api_url, params={"page": page, "size": 50}, headers=headers)
    data = resp.json()
    save_raw(data["items"], page)
    if not data["has_next"]:
        break
    time.sleep(0.5)  # 控制频率

第二步是去重与标准化。去重不能只看岗位 ID,还要考虑同一岗位在不同渠道的重复发布。常用策略是“岗位标题 + 公司 + 城市”生成指纹,再结合发布时间保留最新记录。标准化包括:城市统一为“省-市”格式、薪资统一为月薪区间、经验要求映射为数值区间。

第三步是岗位文本解析。从岗位描述中抽取技能关键词、学历要求、工具栈。可用规则 + 词典匹配,也可用轻量 NLP 模型。关键是建立可维护的技能词典,并定期更新。

第四步是时间序列对齐与缺失值处理。岗位数据按日或周聚合,景气因子按月发布,需统一到同一频率。常用方法有前向填充、线性插值、滚动均值。缺失值要区分“真实缺失”与“未发布”,前者可插值,后者应标记。

招聘数据采集与预处理链路 采集层 爬虫 / API 原始快照落库 清洗层 去重 / 标准化 城市·薪资·经验 解析层 岗位文本解析 技能·学历·工具 对齐层 时间序列对齐 缺失值处理 关键参数 请求频率 ≤ 1次/秒 · 去重指纹 = 标题+公司+城市 · 薪资统一为月薪 · 时间频率统一为周 · 缺失值标记 + 插值 常见风险 反爬封禁 · 字段漂移 · 重复岗位 质量校验 抽样复核 · 字段覆盖率 · 时间连续性 输出 岗位-周-技能矩阵 + 景气因子表

三、案例/场景:某互联网岗位数据清洗实战

假设我们从某招聘平台采集到 12 万条岗位记录,目标是与月度行业景气指数做回归。原始数据中,城市字段有“北京”“北京市”“北京-朝阳”三种写法;薪资有“15K-25K”“1.5-2.5万/月”“面议”;岗位描述里技能词混杂中英文。

处理策略如下:

  • 城市标准化:用正则提取“市”前内容,再映射到标准城市名。
  • 薪资解析:统一换算为月薪中位数,面议标记为缺失。
  • 技能抽取:建立“Python、Java、SQL、机器学习”等词典,匹配岗位描述。
  • 时间对齐:岗位按周聚合,景气因子按月,用月度均值对齐到周。
字段 原始示例 标准化后 处理方式
城市 北京-朝阳 北京 正则提取 + 映射表
薪资 1.5-2.5万/月 20000 区间中位数
经验 3-5年 4 区间均值
技能 熟悉Python和SQL Python;SQL 词典匹配
时间 2024-03-15 2024-W11 周粒度对齐

四、误区/复盘:预处理中最容易踩的坑

误区一:去重只看岗位 ID。同一岗位在不同渠道、不同时间重复发布,ID 不同但内容相同。应使用内容指纹去重。

误区二:缺失值一律填充。景气因子未发布导致的缺失,填充会引入虚假信号。应先区分缺失类型,再决定插值或标记。

误区三:时间对齐忽略频率差异。把月度因子直接按日展开,会造成信息重复。正确做法是聚合到统一频率,或使用滚动窗口。

复盘建议:每次预处理后,输出一份数据质量报告,包含字段覆盖率、去重率、时间连续性、异常值比例。这份报告比模型准确率更能反映数据是否可用。

采集、清洗、解析、对齐四步完成后,岗位数据才真正具备与企业景气因子联合分析的条件。后续建模阶段,应始终保留原始数据与处理日志,确保分析结果可追溯、可复现。