最近招聘招的焦头烂额,还有比较大的业务压力;决定写个自动化筛选的工具,正好最近准备进军go语言,所以决定用go写。
目前支持学历,学校(985,211),专业,薪资,经验等方面的筛选,并进行主动沟通。
按照惯例,现在github上搜一下,果然有,一个哥们求职写的boss直聘自动回复的工具https://github.com/wuranxu/goBoss,正好我拿来改改。
到目前为止一天半时间,基本逻辑摸通,产品思路也定了,结果卡在浏览器窗口打不开这一块。
原本的思路是爬虫,直接抓接口,结果一看这小哥,用了更先进的自动化测试工具,模拟浏览器,使用的webdriver。使用的是一个已经不再维护的库,https://github.com/fedesog/webdriver。
这里先吐槽下go语言的一些问题,
1.编译慢,没几行代码,每次都要编译10s左右在执行,有编译缓存的方案,待尝试。
2.库太少,本来webdriver,java几行代码搞定,可是go还得自己查原生接口手册,还没有示例,真是欲哭无泪。
3.。。
因为要调试,现在打不开窗口,没法看到效果。
查了各种资料,主流观点是chromedriver版本和chrome版本不一致;由于库已经5年没更新了,觉得很可能是代码问题;因为用java测试没有打不开的问题。
中途决定换一个更成熟的库,https://github.com/tebeka/selenium,结果本来go就不熟,试了下决定放弃了。
最后拿出撒手锏,AB测试,相互对比;
java测试打开的chrome参数,与go打开的chrome参数进行对比;
最终发现了headless这个参数,不求甚解害死人,原来是这个参数控制窗口显示。
附详细配置:
{
"MysqlConnectStr": "root:@tcp(localhost:3306)/boss",
"ChromeApp": "/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome",
"CommunicateLimit": 5,
"ResumeFilterLimit": 100,
"ResumePageLimit": 10,
"EducationList": [
"本科", "硕士"
],
"SpecialList": [
"计算机", "软件", "网络", "通信"
],
"AgeLowLimit": 20,
"AgeHighLimit": 32,
"ExperienceLowLimit": 0,
"ExperienceHighLimit": 8,
"SalaryLowLimit": 12,
"SalaryHighLimit": 16,
"ActiveTimeList": [
"刚刚活跃", "今日活跃"
],
"JobSeekingStatusList": [
"离职-随时到岗", "在职-月内到岗", "在职-暂不考虑"
],
"SalaryExperienceConfig" : {
"0" : [6,8],
"1" : [7,9],
"2" : [10,12],
"3" : [10,12],
"4" : [10,15],
"5" : [10,15]
}
}