eatmoreduck/boss-zhipin-scraper

Boss直聘爬虫 / BOSS直聘职位数据抓取工具,基于 Chrome CDP 协议复用真实登录态,绕过字体反爬,输出明文薪资 JSON/CSV + 薪资技能分析。A Chrome-CDP-based BOSS Zhipin job scraper/crawler.

概览

boss‑zhipin‑scraper 是一个 Python 命令行工具,用于从中国招聘平台 BOSS 直聘 提取职位列表。它通过 Chrome DevTools Protocol (CDP) 连接到本地运行的 Chrome 或 Edge 浏览器,重复使用用户已登录的会话,调用网站自身的搜索 API 并返回包含清晰薪资信息的结果(API 直接提供纯文本薪资,避开了网站基于字体的混淆)。该工具还可以获取每个职位的详细描述,分析收集到的数据,并生成简短摘要以及优化简历的提示建议。


主要功能

功能 说明
纯文本薪资 使用网站的搜索 API(通过 CDP 截取),直接获取薪资,绕过基于字体的反爬虫机制。
增量运行 新职位会被标记为 is_new;结果在每页抓取后写入,防止崩溃导致数据丢失。
多种输出格式 将列表保存为 JSON 或 CSV(包含列表与详细文件)。
职位详情爬取与技能分析 可选择抓取 JD 页面,提取频繁出现的技能词汇及其他统计数据。
聚合摘要与提示词生成 job_summary.py 可建立薪资分布、经验/学历要求、热门技能,并生成可直接复制给 LLM 使用的简历优化提示词。
无需 Selenium/Playwright 直接通过 CDP 连接到已登录的浏览器,减少指纹识别并避免传统爬虫使用的重型浏览器。
跨平台 支持 macOS、Linux 和 Windows;支持 Chrome、Chromium 和 Edge。
Hermes/Agent 技能整合 打包为 Hermes 技能,可通过 hermes skills install、skills.sh 或 ClawHub 安装于 AI 助理代理。

工作原理(高阶)

  1. 设置 – --setup-chrome(或 --setup-edge)会启动专用的浏览器配置文件,要求用户登录 BOSS 直聘,并在本地存储 Cookie。
  2. 截取 API 流量 – 使用 CDP 的 Network 域,脚本会被动监听用户滚动页面时触发的搜索请求。
  3. 解析结果 – JSON 响应包含 salaryDesc、securityId、lid 等字段。脚本将每个职位写入文件,通过 job_id 去重,并标记新出现的项目。
  4. 详情页面(选用) – 若启用 --detail,脚本会导航至每个职位的详细 URL,提取 JD 文字并对技能词汇进行简单的词频统计。
  5. 后处理 – job_summary.py 读取收集到的 JSON/CSV,计算统计数据(薪资范围、经验要求、城市分布、热门公司/技能),并打印简洁摘要及 LLM 友好的提示词。

典型用法

# 安装
git clone https://github.com/eatmoreduck/boss-zhipin-scraper.git
cd boss-zhipin-scraper
pip install -r requirements.txt

# 准备已登录的浏览器配置文件
python3 scripts/boss_cdp_raw.py --setup-chrome   # 或 --setup-edge

# 抓取上海 AI-Agent 职位的前 3 页并进行分析
python3 scripts/boss_cdp_raw.py \
    --keyword "AI Agent" \
    --city 上海 \
    --pages 3 \
    --format csv \
    --analysis

# 生成摘要与简历优化提示词
python3 scripts/job_summary.py --top 15

这些指令可搭配标志使用,例如 --list-cities、--diff-base(查看哪些职位是新的),或 --close‑chrome 在运行成功后自动关闭辅助浏览器。


谁适合使用?

  • 求职者:寻求中国薪资、所需技能及公司趋势的最新市场数据。
  • 职业教练 LLM 代理:需要结构化就业市场输入以生成简历建议或面试准备材料。
  • 研究人员:研究中国科技职位趋势,需要可重复的方式来收集大型、干净的数据集。

限制与法律声明

  • 本工具仅供研究与个人使用;它尊重 BOSS 直聘的服务条款,并需要用户自己的登录凭证。
  • 它不会绕过任何验证墙 – 若网站封锁请求(例如速率限制或反机器人代码 31/37),爬虫会停止并回报问题。
  • 薪资数据的可靠性取决于 API 响应;启用 --allow-dom-fallback 可能会抓取到较不可靠的混淆值。

授权

MIT – 可自由使用、修改与重新发布。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目