boss-zhipin-jd-scraperlisted
Install: claude install-skill HeyClioo/boss-zhipin-jd-scraper
# BOSS直聘 职位JD 抓取
抓取 BOSS直聘职位的**岗位职责 / 任职要求**全文,去重、去反爬水印,产出 Markdown。
## 核心原则(不遵守必失败)
**用用户已登录 BOSS 的真实浏览器(一个能驱动"你自己会话"的浏览器自动化工具),不要用无头浏览器。** 无头浏览器会撞图片验证码,过不去。
不同 agent 用对应的浏览器工具:
- **Claude Code**:Claude Chrome 扩展(`mcp__claude-in-chrome__*`)。注意这会覆盖"一律用 browse / 别用 claude-in-chrome"的默认规则——执行前先跟用户确认可以用。
- **Codex / WorkBuddy / 其他**:用该 agent 里等价的、能控制真实已登录浏览器的 MCP / 浏览器工具。
下文示例以 Claude Code 的工具名书写;换 agent 时把工具名替换成等价动作(导航、真实滚轮滚动、在页面执行 JS)即可,**JS 片段通用**。
三条铁律:
1. **列表靠真实鼠标滚轮**加载(`computer scroll`)——JS 的 `window.scrollTo` 没用;合成 `WheelEvent` 会动一下就卡死在 ~45 条,别信。
2. **详情 JD 靠逐页真实导航**(`navigate`)——批量 `fetch` 会被反爬剥空。
3. **正文用 `innerText`**——自动跳过 `display:none` 的水印诱饵词(kanzhun/直聘/boss)。
## 循环节奏(最重要)
**分轮循环,每轮约 30 条:滚一点 → 收一点 → 抓一批 → 存一次 → 重复。绝不"一次性加载 300 再一次性抓 300"。**
- 收集必须在搜索页做完;一旦导航去抓详情,搜索页滚动位置就丢了、回来重置成 15 条。所以**一次性把要的 jid 在搜索页收够,再离开抓**。
- 一次性滚到 300 又重又飘、容易卡;分轮稳、好盯、可中断续跑。
- 抓取分批(每批 10)、每 ~5 批下载一个检查点文件防丢。
## 前置
1. 用户已装 Claude 官方 Chrome 扩展、同账号登录 claude.ai。若报 `Browser extension is not connected`:**`Cmd+Q` 完全退出 Chrome 再重开**(关窗口不行),首装必须重启。
2. 用户的 Chrome 里已登录 BOSS直聘(未登录时薪资会打码为"-K")。
3. 加载工具:`ToolSearch` query `select:mcp__claude-in-chrome__tabs_context_mcp,mcp__claude-in-chrome__navigate,mcp__claude-in-chrome__computer,mcp__claude-in-chrome__javascript_tool,mcp__claude-in-chrome__browser_batch`
## 流程
### 0. 连接 + 打开搜索页
- `tabs_context_mcp {createIfEmpty:true}` 拿 tabId。
- `navigate` 到搜索页 URL,例:
`https://www.zhipin.com/web/geek/jobs?city=101010100&jobType=1901&experience=104°ree=2