影刀RPA 招聘网站数据采集实战岗位信息批量抓取与分析作者林焱无论是找工作、做行业调研、还是帮HR筛选简历招聘网站都是数据金矿。这篇讲怎么用影刀批量采集BOSS直聘、智联招聘等网站的岗位信息。目标数据采集的核心字段岗位名称、公司名称、薪资、地点、经验要求、学历要求、发布时间、岗位描述。采集策略翻页去重importrequests headers{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64),Referer:https://www.zhipin.com/}all_jobs[]seen_idsset()# 去重forpageinrange(1,6):# 最多5页防止被反爬[video(video-0212dr4R-1784132097448)(type-csdn)(url-https://live.csdn.net/v/embed/525000)(image-https://v-blog.csdnimg.cn/asset/23da3fe1f67a47106d725406cfde9a97/cover/Cover0.jpg)(title-拼多多店群自动化上架方案)]urlfhttps://www.zhipin.com/web/geek/job?query数据分析city100010000page{page}# 注意BOSS直聘的关键数据是通过Ajax加载的# 影刀可以通过浏览器打开等数据加载完后提取# 如果用影刀浏览器指令采集# 1. 打开URL# 2. 等待列表渲染等元素出现别用固定延时# 3. 循环提取每个job-card的文本# 4. 翻页用影刀浏览器采集流程1. 打开浏览器 → 访问BOSS直聘搜索页 2. 等待列表项可见classjob-card-wrapper 3. 循环提取 - 用获取元素文本提取岗位名称h3标签内 - 用获取元素文本提取薪资classsalary - 用获取元素文本提取公司名 - 全部写入列表变量 4. 翻页条件判断如果下一页按钮可点击 → 点击 → 回到步骤2 5. 翻页结束 → 数据写入Excel输出分析报表采集完数据后用Python做简单的统计分析importrefromcollectionsimportCounter# 薪资区间处理10k-15k → 平均值12.5kdefparse_salary(s):numsre.findall(r\d,s)iflen(nums)2:return(int(nums[0])int(nums[1]))/2return0# 统计各城市的岗位数量city_countsCounter([job[city]forjobinjobs])# 统计高频技能词skill_words[Python,SQL,Excel,Tableau,机器学习,数据挖掘]skill_counts{}forskillinskill_words:skill_counts[skill]sum(1forjobinjobsifskillinjob[description])# 按薪资排序找出TOP岗位top_jobssorted(jobs,keylambdaj:parse_salary(j[salary]),reverseTrue)[:20]踩坑实录坑1BOSS直聘的反爬非常严格BOSS直聘对自动化的检测非常严格。频繁访问会弹验证码甚至封IP。对策每次翻页间隔3-5秒不要一口气采太多页建议控制在5页以内如果有条件换IP轮换采集坑2页面结构频繁变动招聘网站的页面结构经常改版。今天抓classjob-name能拿到下周可能变成了classposition-title。建议每次采集前先确认页面结构没变用XPath的模糊匹配contains(class,job)提高鲁棒性。坑3地理位置编码网站上显示的是北京-朝阳这种格式而数据展示时可能需要编码北京100010000。BOSS直聘的城市编码表可以在其API请求里抓取。坑4薪资格式不统一TEMU店群如何管理运营“10K-15K”千/月“10-15K·14薪”14薪需要额外计算“200-300元/天”日薪要算月薪“面议”无数据解析时要兼容这几种格式否则平均值计算会严重偏差。数据用途采集到的招聘数据可以求职分析哪些技能需求最高、薪资趋势竞品分析同行在招什么岗位、增长方向行业报告特定岗位的需求地域分布个人规划目标岗位的技能缺口分析写在最后招聘数据是了解行业动态的窗口。影刀负责批量获取数据Python负责分析数据——两者配合你能得到比任何求职APP更精准的行业洞察。但注意不要高频采集、不要用于违规用途简历搬运等灰色产业。