【开源自荐】boss直聘岗位爬虫:boss-zhipin-scraper

eatmoreduck 2026-07-08 10:04 1

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:



  • 我的帖子已经打上 开源推广 标签:

  • 我的开源项目完整开源,无未开源部分:

  • 我的开源项目已链接认可 LINUX DO 社区:

  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:

  • 以上选择我承诺是永久有效的,接受社区和佬友监督:


以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出






解决了什么痛点



  1. 字体反爬:BOSS 直聘列表页的薪资是字体文件加密过的,直接抓 DOM 拿到的是假数据。这个工具走的是搜索 API ,接口本身就返回明文 salaryDesc,绕过字体那一层。

  2. 手动翻页太累:想批量看一类岗位、横向对比薪资和技能要求,靠人工翻根本看不全面。

  3. 不知道市场行情:光看一两个岗位没感觉,想看整体分布(薪资区间、经验/学历要求、高频技能词)。


怎么做的


通过 Chrome DevTools Protocol 直接连接本地一个已登录的 Chrome (持久隔离 profile ,不动主浏览器的登录态):



  • 复用真实登录态调搜索 API ,拿到明文薪资

  • 详情页带上列表 API 的 securityId / lid 上下文,避免风控

  • 每页抓完立刻落盘 + 按 job_id 去重,中途崩了不丢数据

  • 输出 JSON / CSV ,CSV 还会单独导一份详情表方便 Excel 筛选

  • 低频操作,模拟滚动,随机等待,大大降低风控概率


抓完之后


跑一份聚合摘要:



  • 薪资区间分布、经验/学历要求、地区分布

  • 高频公司、技能标签、JD 高频词

  • 最后生成一段可直接复制的提示词,丢给 ChatGPT / Claude 帮你做简历关键词补齐、项目经历改写方向、面试准备清单


第一次发推广,也是第一次做开源,欢迎各位佬友们试用,提意见,感恩

同时也求个 star 谢谢各位佬友们

最新回复 (12)
  • Frank_Z 07-08 10:08
    1

    围观一下,正好最近有跳槽的想法,试试佬友的工具

  • 特朗普 07-08 10:08
    2

    可以搞个自动投简历的吗? 哈哈哈 我真的有点手动投简历搞累了

  • zhangsanfen 07-08 10:10
    3

    正好最近有做个boss爬虫的想法,感谢开源

  • YaSol 07-08 10:10
    4

    正好昨天公司解散了,今天就看到佬的项目,真的是及时雨啊

  • HiCoding 07-08 10:23
    5

    先围观一下,到时候爬下来再针对对应需求生成相对简历自动投递,那简直无敌。

  • onlyxx 07-08 10:32
    6

    感谢佬的分享,正好今天有空拉一份下来看看在codex里面跑一下

  • eatmoreduck 楼主 07-08 11:37
    7

    我也考虑过,但觉得效果不好

    BOSS 的 HR 后台会设一堆不写进公开 JD 的硬性筛选:学历门槛、年龄、工作年限、期望薪资区间、统招/非统招、特定技能标签、甚至"只看在职/离职"。

    做是能做,但即便设置好了投递规则,恐怕也很容易误投递,浪费机会。

    但是开小号图一乐的话,是可以做 ^-^

  • eatmoreduck 楼主 07-08 11:44
    8

    参见这个, 就算硬标签全知道、规则全配对了,"这岗位值不值得投"本身是个主观判断。 可以做简历打分,修改,但是投递还由人来选择性操作更好


    我也考虑过,但觉得效果不好
    BOSS 的 HR 后台会设一堆不写进公开 JD 的硬性筛选:学历门槛、年龄、工作年限、期望薪资区间、统招/非统招、特定技能标签、甚至"只看在职/离职"。
    做是能做,但即便设置好了投递规则,恐怕也很容易误投递,浪费机会。
    但是开小号图一乐的话,是可以做 ^-^
  • 1A7432 07-08 11:49
    9

    强啊,boss直聘的反爬含金量还是很高的。

  • zhe 07-08 16:15
    10

    佬,这个获取岗位数据的间隔是随机的么,太过频繁会被封号吧

  • eatmoreduck 楼主 07-08 16:24
    11

    是随机的,没有固定间隔。简单说几个点:



    • 翻页:每页之间随机 12–22 秒

    • 详情页:每个岗位之间随机 10–25 秒(详情页访问更敏感,间隔拉得更大)

    • 页面内:模拟人类滚动,随机滚动 3–7 次,大部分往下、偶尔回滚一点,滚动间隔也是随机的(快的时候 0.5–1.5s,偶尔停下来"看" 2–5s)

    • 鼠标:偶尔随机抖动一下位置

    • 详情页用独立 session:每个岗位新开一个 background tab,抓完关掉


    核心思路就是别让节奏像机器——固定间隔是最大的破绽,所以全程都是 random.uniform,连滚动距离和方向都带随机。详情页比列表页更敏感,所以间隔整体比列表页大。


    不过说到底这只能"降低被识别概率",不能保证绝对安全。真要稳,就别贪多,单次跑的页数和岗位数控制一下,别一口气几十页。


  • gstajie 07-08 22:43
    12

    先丢个star,就是不知道手机怎么进行fork

* 帖子来源Linux.do
返回