本项目源于校园招聘市场的岗位信息监测与数据分析需求。智联招聘作为国内主流招聘平台,其校招板块汇聚了大量应届生岗位,但网站部署了严格的反爬机制(如JavaScript执行检测、浏览器指纹识别、动态Cookie校验),简单的HTTP请求库无法正常获取页面内容。本工具通过“轻量级快速采集 + 仿真浏览器深度抓取”的双模方案,安全稳定地获取岗位列表与详情信息,为高校就业指导中心、人力资源咨询师及求职者提供及时、结构化的校招数据,助力岗位趋势分析、薪资比对和企业雇主形象研究。
点击空白处退出提示
本项目源于校园招聘市场的岗位信息监测与数据分析需求。智联招聘作为国内主流招聘平台,其校招板块汇聚了大量应届生岗位,但网站部署了严格的反爬机制(如JavaScript执行检测、浏览器指纹识别、动态Cookie校验),简单的HTTP请求库无法正常获取页面内容。本工具通过“轻量级快速采集 + 仿真浏览器深度抓取”的双模方案,安全稳定地获取岗位列表与详情信息,为高校就业指导中心、人力资源咨询师及求职者提供及时、结构化的校招数据,助力岗位趋势分析、薪资比对和企业雇主形象研究。
本工具包含三个核心阶段,形成完整的采集闭环:
1. 身份凭证持久化模块(record-headers.py):基于Playwright启动有头浏览器,引导用户手动登录智联招聘校园版,自动导出Cookies、User‑Agent及通用请求头,保存为本地文件(cookies.pkl、identity.json)。后续所有爬虫直接加载凭证,免去重复登录。
2. 岗位列表采集模块(zhilian-1.py):使用curl_cffi库模拟Chrome 145浏览器指纹,加载持久化Cookies,以极低资源消耗遍历校招搜索页(支持分页、城市、专业类别筛选),提取岗位编号(jdno)、名称、城市、薪资、标签、公司名称等核心字段,输出为positions.xlsx。该模块单次请求速度极快,适合批量获取列表数据。
3. 岗位详情深度采集模块(zhilian-3.py):面对智联详情页的JS动态渲染与反爬校验,放弃轻量级请求方式,转用Playwright启动真实浏览器上下文,复用同一份登录态。逐条读取positions.xlsx中的jdno,访问对应详情页,解析岗位描述、任职要求、公司信息、工作地点等20+个字段,并保存为独立的JSON文件。过程中模拟人类浏览(随机滚动、延时),有效规避风控。
我在本项目中独立负责了全部模块的设计、编码与反爬策略调优。技术栈涵盖curl_cffi(轻量指纹模拟)、Playwright(浏览器自动化)、BeautifulSoup(HTML解析)、pandas(数据处理)。实现亮点:一是创造性地融合两种采集模式——列表页用curl_cffi兼顾速度,详情页用Playwright兼顾兼容性,实现了效率与稳定性的平衡;二是通过user_data_dir持久化浏览器上下文,彻底解决了登录态维护难题。难点攻克:智联招聘详情页会校验请求来源和JS执行环境,起初使用requests时始终返回空白页面,我迅速调整为Playwright方案,并增加wait_for_timeout和随机操作,最终成功获取完整数据。该项目完整记录了一次真实的反爬对抗与方案升级过程,具有极高的参考价值。




评论