boss直聘爬虫,使用 nodejs 和 selenium 实现,可以指定职位,获取所有有记录的城市中该岗位信息并存储到 csv 表格中。表格生成使用 ExcelJs。
验证码识别借助第三方平台”图鉴“,需要购买其服务,亦可自行通过其他方案解决。
城市列表存储在 cityGroup.json 中,通过抓包 boss 职位搜索页面获取。
如果对你有帮助的话就帮忙点个 star 鼓励一下吧!
- 需要nodejs环境
- 拉取代码后在终端目录下通过
npm i
安装 node_modules - 在 config.js 文件中配置职位关键词、json文件输出路径、csv文件输出路径和打码平台账号密码,本项目采用的是图鉴平台进行验证码的识别,也可以自己实现验证码识别,修改对应代码即可。
- 终端执行
node crawler.js
- 在弹出页面中手动完成网站登录
- 等待程序执行完成
由于默认爬取所有城市,数据量过大,途中可能触发 boss 的反爬机制,导致账号风控(一般为 1 天以内),建议创建小号运行爬虫程序。
本项目对一些比较不常出现的反爬措施(例如提示账号封禁)和 Chrome 崩溃的问题没有做应对,需要不时查看程序运行情况并重新启动;爬取过程比较原始,通过 selenium 依页爬取网页提取数据,耗时较长,效率高的方式可以考虑一下js逆向直接获取接口数据;数据写入文件的方式没有采用追加的方式而是全部替换,可能有一些效率的问题。未来有时间可能会完善一下。