skip to content
tlj 的工程笔记
← 项目

招聘 JD 爬虫:让 LLM 读页面,而不是写选择器

个人

给一份简历,在多平台搜匹配岗位。绕过反爬的思路是让 LLM 理解页面、而不是依赖 CSS 选择器。但也得诚实记一笔:最后结果和目标严重错位——想要北京实习,爬回来全是腾讯深圳全职。

时间
2026-05
角色
独立完成
成果
双信号关键词预过滤 + LLM 解析页面绕反爬;诚实复盘一次目标与结果的严重错位

给一份简历(求职意向大模型应用/AI Agent),在多平台搜匹配岗位,提取链接 + JD 摘要 + base 地点,目标画像是技术岗、大模型、应届/实习、北京优先。后期想升级成每天定时抓 + 邮件通知。

思路:让 LLM 读页面,不写选择器

招聘平台普遍反爬、且大量 JS 渲染,硬解 HTML 的 CSS 选择器又脆又容易被反爬识别。这个项目的核心思路是让 LLM 理解页面内容——把抓到的页面文本喂给模型,让它识别这是不是招聘帖、提取结构化字段、过滤时间。绕过反爬的关键不是伪装得更像浏览器,是不依赖固定的页面结构。

预过滤用双信号:JOB_SIGNALS(招聘/内推/HC/实习…)和 AI_SIGNALS(大模型/LLM/RAG/NLP…)必须同时命中,先把明显无关的刷掉再喂给 LLM,省 token。多源策略:掘金搜索 API、腾讯/字节官方招聘 API、其余平台经搜索引擎间接发现 URL。

诚实记一笔:结果和目标严重错位

这个项目最该记的不是它做对了什么,是它没达到目标。最终从腾讯官方 API 拿到 82 条岗位、LLM 筛选后 51 条相关——但这 82 条全是腾讯、全是深圳、全是全职社招,而我要的是北京、实习/应届、多平台。

为什么会这样:几乎所有目标平台都把直爬挡住了(拉勾 WAF 拦截、Boss API 有安全校验、字节/牛客/智联 JS 渲染或反爬),服务器拿不到有效数据;唯一打通的腾讯官方 API 又只通了社招路由、实习路由没打通;掘金搜出来的招聘帖大多是 2024 年的旧帖。所以多源策略最后退化成了”只剩一个能用的源”。

这是个真实的教训:爬虫项目的成败,很大程度不取决于你代码写得多好,取决于目标站让不让你爬。 当多数源被挡,“多平台覆盖”这个目标本身就落不了地。我把它如实记下来,没有挑那 51 条相关岗位假装项目成功了。

几个具体的处理

小结

技术上”让 LLM 读页面绕反爬”的思路是对的,预过滤 + 分批 + 超时熔断也都到位。但这个项目对我更大的意义是那次诚实的复盘:目标定的是北京实习多平台,结果是深圳全职单平台,差距不在代码,在哪些站能爬。 一个爬虫项目,可行性一半握在别人手里。