论当前招聘软件如何过滤僵尸岗位:一个PHP程序员的筛岗心得与避坑
免责声明(必读)
本文仅基于个人求职过程中的观察与自用工具心得,讨论如何减少把时间浪费在长期无人回复、实际已停招的「僵尸岗位」上。
- 目的:帮助求职者提高投递效率与心理预期管理,不是提供绕过平台规则、批量骚扰招聘方或破坏服务稳定性的方法。
- 立场:尊重平台服务条款与账号安全;任何自动化/辅助脚本都应以个人账号、低频率、可人工接管为前提,并对自身行为负责。
- 结论边界:文中信号(如「活跃文案」)只是启发式过滤,无法保证 100% 准确;招聘方也可正当休眠或延迟回复。
- 法律与风险:请勿将本文理解为对任何网站的逆向、抓包滥用、接口重放或反爬对抗教程。若你的使用方式与平台规则冲突,请立刻停止并改回纯人工投递。
若你只想更聪明地投简历,往下读;若想「更高吞吐地打穿平台」,这篇不是写给你的。
一、什么是「僵尸岗位」
在求职语境里,僵尸岗位通常不是「完全假的 JD」,而更常见是:
对求职者来说,真正该优化的不是「投更多」,而是提高「会被看见、会被回复」的概率。
二、核心判断框架:列表诱人 ≠ 岗位仍活
多数招聘软件的信息结构是分层的:
- 列表层:标题、薪资区间、公司名、标签——信息密度高,但「是否还在招」信号弱。
- 详情层:职责、要求、以及关键的「老板活跃状态」等——更接近「还值不值得点立即沟通」。
- 互动层:是否真的发出沟通、是否进已聊、是否有回——这是最终验证。
因此,过滤僵尸岗位的第一原则是:
不要用列表页做最终裁决;把「活跃度 / 是否看过 / 是否沟通过」作为二阶筛选项。
这和写爬虫「把列表全抠完」是两种目标。求职工具的 KPI 应该是:单位时间内有效沟通数,而不是采集条数。
三、可用的「活人信号」(启发式,非真理)
下面这些是求职场景里相对稳妥、也相对「平台本意就会展示」的信号:
1. 老板活跃文案(最关键)
许多产品会展示类似「刚刚活跃 / 今日活跃 / N 日内活跃 / N 月内活跃 / 在线」一类文案。你可以把它映射成「距今天数」再设阈值,例如:
- 只投 7 天内活跃的(偏进攻,召回低、精准高)
- 或 14–30 天(召回更高,僵尸漏网更多)
注意:
- 「无法解析活跃文案」时,不要当成「很活跃」;更稳妥的默认是跳过或人工确认。
- 「月内活跃」粒度很粗,容易把半死不活的岗位放进来。
2. 薪资与城市等硬过滤
薪资区间、城市、关键词标题匹配,能先砍掉「看起来就不该投」的噪声。但要注意:前端可能做字体混淆或展示不一致,强解析失败时,宁可关闭薪资硬筛,改为人工扫一眼,也不要用错误解析结果批量误判。
3. 去重:visited ≠ contacted
这是我自己实践后觉得极有价值的状态机:
- visited(看过详情):只要打开过详情就记录——包括因不活跃而跳过的。
- contacted(已沟通):只有真正点过沟通、确认发出后再记录。
好处很直接:
- 昨天因「不活跃」跳过的岗,今天不会反复打开浪费。
- 已沟通的岗不会二次骚扰(也保护自己账号风控画像)。
- 统计「打开多少 / 因僵尸跳过多少 / 真正沟通多少」,才能看见筛岗策略是否有效。
一句话:僵尸过滤不是一次性规则,而是带记忆的策略。
4. 列表池要「可轮换、可归档」
同一天反复采列表时,把旧结果归档、只让最新列表进入处理流水线,能避免在同一批僵尸里打转。搜索词也可以轮换(岗位细分类、同城不同关键字),减少「单一查询结果被僵尸稀释」的问题。
四、踩过的坑(心得向,不展开对抗细节)
这些坑几乎都指向同一件事:目标是筛僵尸,不是对抗平台。 一旦目标跑偏,坑会成倍出现。
坑 1:把列表采集当成主战场
一开始很容易迷恋「一口气拿很多 JD」。结果发现:列表越大,无效打开越多;而僵尸判断往往必须到详情层。
后来的做法:列表只是候选池;真正决定投不投的,放在详情活跃筛选之后。
坑 2:在列表层「伪造/重放接口」去加速
用脚本直接外发业务接口、重放请求头等,短期看起来快,但账号异常、回跳、验签失败、登录态异常的概率明显上升。对求职者而言,这是用账号风险换虚假效率。
后来的思路:能用「正常浏览过程产生的数据」做离线处理就不要用「模拟服务端调用」;读活跃状态尽量短、只读、可中断。
坑 3:长期附着调试会话 / 强自动化驱动页面
重度自动化驱动(例如长时间附着调试通道、强行脚本导航、页内强制拉数)更容易触发风控回流、页面状态错乱,最后连人工都用不了。
后来的思路:
- 导航尽量贴近真人操作路径;
- 详情读取尽量短连接、快读快断;
- 出现回跳/异样就停本轮,而不是死循环重试。
坑 4:忽略节奏,把账号刷成「机器像」
详情连开、沟通连点、无冷却,是最快把正常筛岗变成异常行为的方式。平台不一定只看你「做了什么」,也看「有多勤」。
后来的做法:给「详情加载后等待」「沟通后等待」「下一条前冷却」设随机区间;再加每日沟通上限。这既是礼貌,也是自我风控。
坑 5:不活跃与失败混在一起记日志
若把「僵尸跳过」「点击失败」「页面回跳」记成一类,你永远无法调参。active_days 调小了到底是精准提升,还是只是把会回复的人都筛掉了?没有分类统计就没有答案。
后来的结构:至少拆成 inactive / chat_fail / contacted;并对 visited、contacted 做分片持久化(量一大时单文件也会变成新坑)。
坑 6:字体混淆/动态文案导致解析自信过度
薪资字符、活跃文案格式偶发变化时,硬解析会「瞎」。
后来的原则:解析不到就保守处理;可配置开关关闭不稳定字段;关键字段宁可人工,也不要假阳性批量投。
五、一套可复用的「筛僵尸」流水线(思路级)
可以把自用流程抽象成下面这条链(不一定要写代码,脑内执行也行):
评价这条链是否有效,建议看三个指标:
- 僵尸跳过率:
inactive / 打开详情数—— 说明列表噪声有多大。 - 有效沟通率:
contacted / 打开详情数—— 说明阈值是否合理。 - 真实回复率(几天后人工回看)—— 这才是最终 KPI;前两个只是过程指标。
若僵尸跳过率很低,但回复仍差,问题可能不在活跃筛选,而在 JD 匹配、简历表达或市场供需。
六、风控与避坑:求职者该守的底线
这里说的「风控」,优先是保护自己的账号与时间,不是教你如何躲检测。
额外提醒:很多平台已经提供「活跃优先」类排序或筛选。能用官方能力先滤一轮,再考虑是否需要自用辅助——很多时候这已经够用了。
七、参数调优的实务建议
以「活跃天数」为例(数值因人而异):
- 刚开始:阈值偏严(如 3–7 天),观察回复质量。
- 市场冷、结果太少:放宽到 14 天,同时加强职位关键词与薪资匹配,避免用「放宽活跃」换来一堆低相关岗位。
- 永远保留硬上限:活跃不是唯一条件;城市、岗位关键词、薪资仍能显著减少噪声。
调参时每次只改一个变量,并记录当天:打开数 / 跳过数 / 沟通数 / 次日回复数。否则你会感觉「好像更有效了」,其实只是投得更少更累。
八、你真正要优化的,不是脚本,是决策
做了一轮后我更确信:
过滤僵尸岗位的本质,是把「看见很多机会」改成「只对可能看见你的人说话」。
招聘软件天然会展示海量库存;求职者如果不加二阶过滤,就容易陷入海投幻觉:投得越多越安心,实际命中率越低。
工具可以帮你做三件事:
- 记忆:别重复踩同一批僵尸;
- 阈值:把模糊的「好像不活跃」变成可执行规则;
- 节奏:用上限与冷却保护账号与心态。
它不应该做的是:
- 替你绕过平台安全机制;
- 替你无限提速;
- 替你决定这份工作值不值得去——那仍要看 JD、公司与你的职业路径。
九、结语
当前招聘软件里,「岗位存在」并不等于「岗位还活着」。对求职者最稳的策略,是:列表控范围、详情看活跃、沟通要节制、历史要记账。
踩坑大多来自目标错位——把筛僵尸做成了硬刚平台。走回来之后会发现:越像一个冷静的求职顾问,越不像一台抢名额机器,长期反而更省时间、也更安全。
再次声明:本文只分享求职筛岗的思路与避坑心得,不鼓励、不指导任何违规自动化或对抗行为。愿你把精力留给真正可能回复你的老板。

浙公网安备 33010602011771号