My0sot1s / boss-crawler

boss直聘爬虫,使用 nodejs 和 selenium 实现,可以指定职位,获取所有有记录的城市中该岗位信息。其中表格生成使用 ExcelJs,验证码识别借助第三方平台”图鉴“。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

boss-crawler

介绍

boss直聘爬虫,使用 nodejs 和 selenium 实现,可以指定职位,获取所有有记录的城市中该岗位信息并存储到 csv 表格中。表格生成使用 ExcelJs。

验证码识别借助第三方平台”图鉴“,需要购买其服务,亦可自行通过其他方案解决。

城市列表存储在 cityGroup.json 中,通过抓包 boss 职位搜索页面获取。

如果对你有帮助的话就帮忙点个 star 鼓励一下吧!

使用

  1. 需要nodejs环境
  2. 拉取代码后在终端目录下通过 npm i 安装 node_modules
  3. config.js 文件中配置职位关键词json文件输出路径csv文件输出路径打码平台账号密码,本项目采用的是图鉴平台进行验证码的识别,也可以自己实现验证码识别,修改对应代码即可。
  4. 终端执行 node crawler.js
  5. 在弹出页面中手动完成网站登录
  6. 等待程序执行完成

注意事项

由于默认爬取所有城市,数据量过大,途中可能触发 boss 的反爬机制,导致账号风控(一般为 1 天以内),建议创建小号运行爬虫程序。

不足

本项目对一些比较不常出现的反爬措施(例如提示账号封禁)和 Chrome 崩溃的问题没有做应对,需要不时查看程序运行情况并重新启动;爬取过程比较原始,通过 selenium 依页爬取网页提取数据,耗时较长,效率高的方式可以考虑一下js逆向直接获取接口数据;数据写入文件的方式没有采用追加的方式而是全部替换,可能有一些效率的问题。未来有时间可能会完善一下。

About

boss直聘爬虫,使用 nodejs 和 selenium 实现,可以指定职位,获取所有有记录的城市中该岗位信息。其中表格生成使用 ExcelJs,验证码识别借助第三方平台”图鉴“。

License:MIT License


Languages

Language:JavaScript 100.0%