You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从爬虫获取的招聘页面JSON字符串中提取指定字段数据

提取操作分步指南

1. 预处理原始字符串

你拿到的原始内容是HTML实体转义后的JSON片段,首先要做两步预处理:

  • 把所有"替换为标准双引号",Python中可直接调用html.unescape()完成解码
  • 确保你实际抓取到的是完整闭合的JSON结构(你提供的片段是截断的,正式使用时要补全所有缺失的闭合括号)

示例预处理代码:

import html
import json

# 替换为你实际抓取的原始字符串
raw_response = "your_raw_crawled_string"
# 解码HTML实体
decoded_str = html.unescape(raw_response)
# 解析为字典
job_dict = json.loads(decoded_str)

2. 按层级提取目标字段

所有目标字段的取值路径如下,直接按字典层级取值即可:

  • 标题(Title):job_dict["job"]["title"]
  • 岗位描述(Description):job_dict["job"]["category"]["description"]
  • 客户活动数据:
    • lastBuyerActivity:job_dict["job"]["clientActivity"]["lastBuyerActivity"]
    • totalApplicants:job_dict["job"]["clientActivity"]["totalApplicants"]
    • totalHired:job_dict["job"]["clientActivity"]["totalHired"]
    • totalInvitedToInterview:job_dict["job"]["clientActivity"]["totalInvitedToInterview"]
    • unansweredInvites:job_dict["job"]["clientActivity"]["unansweredInvites"]
    • invitationsSent:job_dict["job"]["clientActivity"]["invitationsSent"]
  • 雇主信息:
    • isPaymentMethodVerified:job_dict["job"]["clientActivity"]["buyer"]["isPaymentMethodVerified"]
    • 所属国家:job_dict["job"]["clientActivity"]["buyer"]["location"]["country"]
  • stats下所有字段:直接取job_dict["job"]["clientActivity"]["buyer"]["stats"]字典对象,内含所有子字段
  • jobs下所有字段:直接取job_dict["job"]["clientActivity"]["buyer"]["stats"]["jobs"]字典对象
  • avgHourlyJobsRate:job_dict["job"]["clientActivity"]["buyer"]["stats"]["jobs"]["avgHourlyJobsRate"]["amount"]

3. 兼容异常场景

为避免抓取到的JSON结构缺失字段导致程序报错,建议用get()方法取值,指定默认值:

# 示例:取值带默认值
title = job_dict.get("job", {}).get("title", "")
client_activity = job_dict.get("job", {}).get("clientActivity", {})
total_applicants = client_activity.get("totalApplicants", 0)

内容的提问来源于stack exchange,提问作者N34RM1K Zx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 14:03:04