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 助理代理。 |
工作原理(高阶)
- 设置 –
--setup-chrome(或--setup-edge)会启动专用的浏览器配置文件,要求用户登录 BOSS 直聘,并在本地存储 Cookie。 - 截取 API 流量 – 使用 CDP 的
Network域,脚本会被动监听用户滚动页面时触发的搜索请求。 - 解析结果 – JSON 响应包含
salaryDesc、securityId、lid等字段。脚本将每个职位写入文件,通过job_id去重,并标记新出现的项目。 - 详情页面(选用) – 若启用
--detail,脚本会导航至每个职位的详细 URL,提取 JD 文字并对技能词汇进行简单的词频统计。 - 后处理 –
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 – 可自由使用、修改与重新发布。
相关
- 项目
- 项目
- 项目
- 项目
- 项目