BOSS直聘自动投简历的实现过程
创始人
2024-05-01 12:32:28
0

        这两年疫情,公司业务越来越差,必须得准备后路了,每天睡前都会在直聘上打一遍招呼,一直到打哈欠有睡意为止...,这样持续了一周,发现很难坚持,身为一名资深蜘蛛侠,怎么能这样下去呢?于是便萌生了对BOSS下手的念头。

        boss的web端功能已经挺完整了,所以直接使用无头浏览器(puppetter/playwright)应该就能搞定了,然后再整几个简单的界面,应该就差不多了。先看前端它用了哪些技术。

web框架:vue+jQuery

熟悉的全家桶

 经典的$

 

 聊天:基于websocket的mqtt实现 paho

消息传输格式protobuf,和抖音一样,找到定义文件就能解析了

 

接口分析 

要实现自动投简历,会用到以下一些接口,安全起见完整地址就不贴了,懂得搜一下就能找到。

职位搜索joblist.json,看字段名就能猜到什么意思

{"code": 0,"message": "Success","zpData": {"resCount": 415,"filterString": "","lid": "xxx","hasMore": true,"jobList": [{"securityId": "xxx","bossAvatar": "xxx","bossCert": 3,"encryptBossId": "xxx","bossName": "xxx","bossTitle": "渠道经理","goldHunter": 0,"bossOnline": false,"encryptJobId": "xxx","expectId": 0,"jobName": "需求分析工程师","lid": "xxx","salaryDesc": "10-15K·13薪","jobLabels": ["1-3年","本科"],"jobValidStatus": 1,"iconWord": "","skills": ["需求分析"],"jobExperience": "1-3年","daysPerWeekDesc": "","leastMonthDesc": "","jobDegree": "本科","cityName": "上海","areaDistrict": "浦东新区","businessDistrict": "张江","jobType": 0,"proxyJob": 0,"proxyType": 0,"anonymous": 0,"outland": 0,"optimal": 0,"iconFlagList": [],"itemId": 1,"city": xxx,"isShield": 0,"atsDirectPost": false,"encryptBrandId": "xxx","brandName": "xxx","brandLogo": "xxx","brandStageName": "已上市","brandIndustry": "计算机软件","brandScaleName": "1000-9999人","welfareList": ["零食下午茶","补充医疗保险","通讯补贴","五险一金","股票期权","带薪年假","员工旅游","节日福利","定期体检","交通补助","餐补","年终奖"],"industry": 100021,"contact": false}]}
}

 获取简历attachment/checkbox

{"code": 0,"message": "Success","zpData": {"supportVideoResume": false,"resumeList": [{"resumeId": "xxx","showName": "全栈开发.docx","resumeSize": 10000,"resumeSizeDesc": "34.9KB","suffixName": "docx","annexType": 0,"uploadTime": "xxx","parserId": "xxx","syncStatus": 1,"previewType": 1,"restricted": false,"cvId": "","securityStatus": 0,"restrictedDays": -1,"target": 0,"nlpParserType": 1},{"resumeId": "xxx","showName": "资深前端.docx","resumeSize": 12345,"resumeSizeDesc": "34.9KB","suffixName": "docx","annexType": 0,"uploadTime": "xxx","parserId": "xxxx","syncStatus": 1,"previewType": 1,"restricted": false,"cvId": "","securityStatus": 0,"restrictedDays": -1,"target": 0,"nlpParserType": 1}],"videoResumeList": [],"supportAnnexType": false,"supportCommonResume": true,"showUploadBtnType": false,"complete": true,"maxCount": 3,"resumeCount": 3}
}

打招呼friend/add post form

{"code": 0,"message": "Success","zpData": {"showGreeting": true,"securityId": "xxx","bossSource": 0,"source": "","encBossId": "xxx","greeting": "个人觉得我和贵公司这一岗位很匹配,可以聊聊么?"}
}

投简历exchange/request post form

mqtt消息分析

分析这里面的消息类型,花了不少时间找规律,通过type+body.type+biztype基本就能确定唯一的消息类型

{"from": {"uid": xxx,"name": "xxx","avatar": "xxx","company": "xxx","headImg": 8,"certification": 3,"source": 0},"to": {"uid": xxx,"name": "xxx","avatar": "xxx","company": "","headImg": 0,"certification": 0,"source": 0},"type": 1,"mid": xxx,"time": xxx,"body": {"type": 1,"templateId": 1,"headTitle": "","text": "好","sound": null,"image": null,"action": null,"articles": [],"notify": null,"dialog": null,"jobDesc": null,"resume": null,"redEnvelope": null,"orderDetail": null,"hyperLink": null,"video": null,"interview": null,"jobShare": null,"resumeShare": null,"atInfo": null,"sticker": null,"chatShare": null,"interviewShare": null,"listCard": null,"starRate": null,"frame": null,"multiImage": null,"extend": ""},"offline": false,"received": false,"pushText": "xxx","taskId": 0,"cmid": xxx,"status": 0,"uncount": 0,"pushSound": 0,"flag": xxx,"encryptedBody": null,"bizId": null,"bizType": null,"securityId": "xxx","isPresenceMsg": false,"isSelf": false}

这是我做的工具消息界面

我有两个boss账号,投两种不同类型的职位,一个偏管理,一个偏技术,所以得支持多账号同时投递,理论上支持无限账号,只要电脑配置够高。

 然后就是要支持多个投递计划,比如我是全栈,那么后端和前端的职位都可以投,那么就可以分两个求职计划来投递,理论上支持无限多个,但是boss每天只允许打120次招呼,所以要合理分配

 在消息处理方面,目前做到了,自动接受简历投递邀请,自动接收交换联系方式,自动将各类标准消息设为已读,比如让你评价猎头,发来的职位卡片之类的。然后还添加了自动回复规则,有点类似微信公众号的自动回复设置

 目前我只需要每天晚上打开我的工具,让他自动去打招呼并处理消息,只有那些真正需要认真答复的消息才会出现app的提醒里,趁午休一一回复即可!

相关内容

热门资讯

怎么破解安卓车载系统,破解之道... 如何破解安卓车载系统:一场技术冒险之旅在当今数字化时代,汽车已经不仅仅是一种交通工具,它更是一个集成...
安卓系统桌面制作软件,打造个性... 你有没有想过,你的安卓手机桌面是不是也能变得像杂志封面一样炫酷呢?没错,今天就要来聊聊这个话题——安...
安卓官服什么系统最好,探寻最佳... 你有没有想过,你的安卓官服到底该用哪个系统呢?这可是个让人头疼的问题,毕竟每个系统都有它的特色和优缺...
安卓系统怎么安定位,步骤详解与... 你有没有想过,为什么你的手机总是能精准地告诉你附近有什么好吃的、好玩的地方呢?这都要归功于安卓系统的...
华为参与开发安卓系统,共筑智能... 你知道吗?最近有个大新闻,那就是华为竟然参与了安卓系统的开发!是不是觉得有点不可思议?别急,让我带你...
安卓新系统好还是旧系统,安卓新... 你有没有发现,每次安卓系统更新,朋友圈里就炸开了锅?有人欢呼雀跃,有人愁眉苦脸。那么,安卓新系统真的...
安卓系统主要界面元素,探索主要... 你有没有发现,每次打开安卓手机,那熟悉的界面总是让人眼前一亮?今天,就让我带你一起探索安卓系统那些让...
安卓平板7.0系统好吗,智能生... 你有没有想过,拥有一台运行着最新安卓7.0系统的平板电脑,会是怎样的体验呢?想象手指轻轻滑过屏幕,流...
安卓手机换联想系统,深度体验联... 你有没有想过,你的安卓手机换上联想系统后,会发生哪些奇妙的变化呢?想象原本熟悉的界面突然焕然一新,是...
刷安卓系统的工具,轻松实现系统... 你有没有想过,你的安卓手机是不是也能像电脑一样,装上各种有趣的系统呢?没错,今天就要来聊聊这个神奇的...
机械革命安卓系统设置,个性化定... 机械革命安卓系统设置全解析在当今这个数字化时代,智能手机已经成为我们生活中不可或缺的一部分。它不仅仅...
安卓监管系统有哪些,技术手段与... 你知道吗?随着智能手机的普及,安卓系统已经成为了全球最受欢迎的操作系统之一。但是,你知道吗?为了让这...
安卓系统更新知乎,畅享智能生活... 你有没有发现,你的安卓手机最近是不是总在提醒你更新系统呢?别急,别急,今天就来给你好好聊聊这个话题。...
安卓手机系统铃声目录,个性化音... 你有没有发现,每次拿起安卓手机,那熟悉的铃声总是能瞬间唤醒你的注意力?今天,就让我带你一起探索一下安...
安卓系统修改开机画面,安卓系统... 亲爱的手机控们,你是否厌倦了每次开机时看到的那张千篇一律的开机画面?想要给你的安卓手机来点新鲜感?那...
安卓系统隐私密码,守护个人隐私... 你有没有想过,你的安卓手机里藏着多少秘密?那些聊天记录、照片、支付信息,全都在那里静静地躺着,等着被...
8848是安卓什么系统,搭载安... 你有没有想过,你的手机里那个高大上的8848手机,它到底是用的是什么操作系统呢?别急,今天就来给你揭...
安卓刷windowsxp系统下... 你有没有想过,让你的安卓手机瞬间变身成一台Windows XP电脑呢?没错,就是那个经典的操作系统!...
插画安卓系统推荐哪个,插画风格... 你有没有想过,手机里的插画风格也能成为个性展示的一部分呢?想象你的手机界面就像是一幅精美的画作,是不...
安卓系统怎么升级cpu,解锁性... 亲爱的安卓用户们,你是否也和我一样,对手机性能的提升充满了期待?想要让你的安卓手机跑得更快,升级CP...