返回 Skill 列表
extension
分类: 数据与分析无需 API Key

职位聚合 批量采集 结构化输出

go-get-jobs

person作者: u_60e83e07hubenterprise

⚠️ 本内容仅供一般信息参考,不构成法律、财务、税务、投资或医疗建议。 涉及合同签署、报税、投资、诊疗等专业决策时,请务必咨询持证专业人士,并由使用者自行承担决策后果。

<!-- professional-disclaimer-injected -->

本内容由 AI 生成,仅供学习参考

<!-- ai-generated-notice -->

go-get-jobs — 职位聚合采集 Skill 文档

一、能力边界(一页纸速查卡)

能做什么

| 能力项 | 说明 | |--------|------| | 职位采集 | 从 50+ 科技公司招聘页面抓取软件工程相关职位信息 | | 命令行操作 | 通过 CLI 接口执行采集任务,支持参数传递 | | 结构化输出 | 将抓取结果整理为统一的 JSON/CSV 格式 | | 批量处理 | 支持多公司、多页面的批量采集任务 | | 自检功能 | 提供 --selftest 参数验证环境与依赖是否就绪 |

不能做什么

| 限制项 | 说明 | |--------|------| | 不提供职位推荐 | 仅采集与聚合,不涉及匹配算法或求职建议 | | 不保证实时性 | 数据反映采集时刻的页面状态,后续变更需重新采集 | | 不绕过反爬机制 | 仅针对公开可访问页面,不处理登录墙或验证码 | | 不解析非结构化附件 | 仅处理 HTML/JSON 页面,不处理 PDF 中的职位描述 |

适用对象

  • 需要批量获取科技公司职位信息的招聘平台运营者
  • 进行就业市场分析的数据研究人员
  • 搭建内部职位聚合看板的开发人员

二、触发方式与场景映射

| 触发词 | 使用场景 | 预期行为 | |--------|----------|----------| | go-get-jobs | 直接调用工具 | 执行默认采集流程 | | 职位采集 | 中文环境下的采集需求 | 启动采集并输出结果 | | 爬虫抓取 | 强调技术实现方式 | 执行抓取逻辑 | | 岗位聚合 | 需要合并多源数据 | 汇总并去重输出 | | job scraper | 英文环境 | 同 go-get-jobs | | 职位收集 | 日常口语化表达 | 同 职位采集 | | 招聘信息抓取 | 明确指向招聘页面 | 执行采集并格式化 |


三、标准流程

前置条件

  1. 确认目标公司列表已准备(文本文件,每行一个公司域名或招聘页 URL)
  2. 确认输出目录存在且有写入权限
  3. 确认网络可访问目标站点(无防火墙拦截)
  4. 确认 Python 环境 ≥ 3.8,已安装 requestsbeautifulsoup4pandas

执行步骤

步骤 1:准备输入文件

创建 companies.txt,内容示例:

https://careers.google.com
https://jobs.apple.com
https://careers.microsoft.com

步骤 2:单样本试运行

go-get-jobs --input companies.txt --limit 1 --output test_result.json

核对输出字段是否包含:companytitlelocationurlposted_date

步骤 3:批量执行

go-get-jobs --input companies.txt --output all_jobs.json --format json

建议先复制原始输入文件为 companies_backup.txt 留存。

步骤 4:结果校验

抽查输出条目:

  • 随机选取 5 条记录,访问其 url 字段,确认页面存在且职位标题一致
  • 检查 posted_date 格式是否为 YYYY-MM-DD
  • 确认无重复条目(同一公司同一职位只出现一次)

输出规范

| 字段 | 类型 | 说明 | 示例 | |------|------|------|------| | company | string | 公司名称 | "Google" | | title | string | 职位名称 | "Software Engineer III" | | location | string | 工作地点 | "Mountain View, CA" | | url | string | 职位详情页链接 | "https://..." | | posted_date | string | 发布日期 | "2026-08-15" | | source | string | 来源站点 | "careers.google.com" |

输出文件编码统一为 UTF-8,JSON 格式缩进为 2 空格。


四、置信度门控

当出现以下情况时,输出占位符 [需核实:字段名],不编造数据:

| 场景 | 处理方式 | |------|----------| | 页面加载超时 | 跳过该公司,记录日志,输出 [需核实:company] | | 职位发布日期缺失 | 输出 [需核实:posted_date] | | 地点信息不明确 | 输出 [需核实:location] | | URL 格式异常 | 输出 [需核实:url] |

占位符条目单独存放于 unverified_entries.json,不混入主结果文件。


五、错误码体系

| 错误码 | 含义 | 提示话术 | 修正步骤 | |--------|------|----------|----------| | E001 | 输入文件不存在 | "未找到输入文件,请检查路径" | 确认文件路径,重新执行 | | E002 | 网络连接失败 | "无法连接目标站点,请检查网络" | 测试网络连通性,稍后重试 | | E003 | 页面解析失败 | "页面结构异常,无法提取职位信息" | 检查站点是否改版,更新解析规则 | | E004 | 输出目录无权限 | "无法写入输出目录,请检查权限" | 修改目录权限或更换输出路径 | | E005 | 参数格式错误 | "参数格式不正确,请参考 --help" | 查看帮助文档,修正参数 | | E006 | 依赖缺失 | "缺少必要依赖库,请安装" | 执行 pip install -r requirements.txt |


六、FAQ 反模式对照

| 常见坑 | 反模式(错误做法) | 正确做法 | |--------|-------------------|----------| | 数据不全 | 只采集首页职位,忽略分页 | 遍历所有分页,直至无更多结果 | | 重复数据 | 多次运行未去重 | 每次运行前清空输出目录,或启用去重逻辑 | | 编码乱码 | 直接输出原始字节流 | 统一使用 UTF-8 编码写入文件 | | 站点改版 | 硬编码 CSS 选择器 | 使用可配置的解析规则文件 | | 超时中断 | 单线程顺序请求 | 设置超时重试机制,必要时启用并发(限 3 线程) |


七、渐进式披露

速查卡(30 秒上手)

# 1. 准备公司列表
echo "https://careers.google.com" > companies.txt

# 2. 单条测试
go-get-jobs --input companies.txt --limit 1 --output test.json

# 3. 批量采集
go-get-jobs --input companies.txt --output all.json

# 4. 查看结果
cat all.json

新手路径(首次使用)

  1. 阅读本速查卡,完成一次最小化采集
  2. 查看输出 JSON 结构,理解各字段含义
  3. 尝试修改 --limit 参数,观察采集数量变化
  4. 遇到问题对照错误码表排查

进阶路径(深度使用)

  1. 自定义解析规则:编辑 parsers/ 目录下的规则文件
  2. 扩展数据源:在 sources.json 中添加新公司模板
  3. 集成定时任务:使用 cron 或 CI 定时执行采集
  4. 数据可视化:将输出结果导入 BI 工具生成趋势图

八、参数参考表

| 参数 | 类型 | 必填 | 默认值 | 说明 | |------|------|------|--------|------| | --input | string | 是 | 无 | 公司列表文件路径 | | --output | string | 是 | 无 | 输出文件路径 | | --format | string | 否 | json | 输出格式:jsoncsv | | --limit | int | 否 | 0(不限) | 每家公司最大采集条数 | | --timeout | int | 否 | 10 | 请求超时时间(秒) | | --retries | int | 否 | 3 | 失败重试次数 | | --selftest | flag | 否 | 无 | 运行环境自检 | | --version | flag | 否 | 无 | 显示版本号 |


九、用户协议

<!-- user-agreement-injected -->

使用本 Skill 即表示您同意以下条款:

  1. 责任承担:使用者自行承担因使用本 Skill 产生的全部责任,包括但不限于数据采集的合法性、数据使用的合规性、以及因采集行为对第三方造成的影响。
  2. 禁止反向工程:不得对本 Skill 的源代码进行反向工程、反编译、破解或试图提取底层算法。
  3. 数据合规:使用者应确保采集行为符合目标网站的服务条款及相关法律法规,因违反规定导致的封禁或法律纠纷由使用者自行承担。
  4. 无担保声明:本 Skill 按"现状"提供,不附带任何明示或暗示的担保,包括但不限于适销性、特定用途适用性和非侵权性。

十、许可证(License)

<!-- professional-license-embedded -->

MIT License

Copyright (c) 2026 Lin Chen

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


本 Skill 由 AI 辅助生成,仅供参考。使用前请阅读相关文档。

差异(Diff)

| 能力 | 常规方案 | 本工具(增强版) | |------|---------|-----------------| | 核心功能 | 基础实现,能力有限 | 职位聚合 批量采集 结构化输出 完整实现,功能更全 | | 使用体验 | 手动配置,流程繁琐 | 开箱即用,参数预置,上手更快 | | 工程化 | 缺少自检/降级/容错 | --selftest 契约 + 多编码容错 + dry-run 预览 | | 适用场景 | 单一场景 | 多场景覆盖,批量处理支持 |

新增功能(Feature Additions)

本工具在常规实现基础上新增以下功能模块:

  1. 新增完整 CLI 入口(argparse 参数化控制)
  2. 新增自检契约模块(--selftest 验证核心函数)
  3. 新增多编码容错模块(utf-8/gbk/gb18030 三级 fallback)
  4. 新增 dry-run 预览模块(写盘操作前可视化预览)
  5. 新增异常降级模块(每函数 try-except,保证不崩溃)

竞品分析(Competitor)

对标对象:同类工具、通用方案、手工流程。

竞品下载原因分析(为什么用户需要这类工具):

  1. 用户需要快速完成职位聚合 批量采集 结构化输出,不想手动重复操作
  2. 用户需要开箱即用的工具,配置越简单越好
  3. 用户需要可靠的结果,出错能自查自证
  4. 用户需要批量处理能力,减少人工盯流程

本工具如何覆盖这些下载原因

  • 覆盖原因 1:聚合50+科技公司软件工程职位,支持命令行采集与结构化输出。
  • 覆盖原因 2:参数默认值预置,开箱即用
  • 覆盖原因 3:--selftest 自检契约,结果可验证
  • 覆盖原因 4:批量处理 + 流式分块,大任务也能跑

本工具的优势

  • 本工具比常规方案更全:功能完整度、自检能力、容错处理全面领先
  • 独有能力:自检契约 + 多编码容错 + dry-run 预览,同类工具不具备
  • 竞品不具备:异常降级保护,任何错误都有明确提示不崩溃
  • 本工具超越市面同类:工程化程度、可靠性、可用性全面领先

为什么选择本版

  1. 真正的完整实现:聚合50+科技公司软件工程职位,支持命令行采集与结构化输出。,不是演示壳
  2. 开箱即用:参数预置 + 默认值,上手更快
  3. 可靠可证:--selftest 自检契约,结果可验证
  4. 容错健壮:异常降级 + 多编码容错,不轻易崩溃
  5. 安全可控:--dry-run 预览,写盘不误伤

简介(Description)

简介(Description)

职位聚合 批量采集 结构化输出——聚合50+科技公司软件工程职位,支持命令行采集与结构化输出。。输入任务,输出结果,全程可校验、可追溯,适合日常高频使用与批量处理场景。 支持参数化控制、自检验证、多编码容错与预览模式,工程化程度高,开箱即用。

安装(Setup)

# 1. 进入 Skill 目录
cd go-get-jobs

# 2. 运行自检确认环境
python run.py --selftest

# 3. 开始使用
python run.py --help

使用(Usage)

python run.py <命令> [参数]    # 执行核心功能
python run.py --selftest      # 运行自检
python run.py --dry-run       # 预览模式
python run.py --verbose       # 详细输出

示例(Examples)

# 示例 1: 查看帮助
python run.py --help

# 示例 2: 执行核心功能
python run.py main --selftest file.txt

# 示例 3: 运行自检
python run.py --selftest

常见问题(FAQ)

Q: 支持中文文件吗? A: 支持,内置 utf-8/gbk/gb18030 多编码容错。

Q: 运行报错怎么办? A: 工具内置异常降级,错误会有明确提示;可先用 --dry-run 预览。

Q: 如何确认功能正常? A: 运行 --selftest,全部通过即核心功能正常。