爬 51 匹配最适合岗位_java爬 51 匹配最适合岗位_java_02



前言

在找工作时,匹配度是一个比较关键的指标,就像一个文科生在大学期间没学过任何计算机相关知识,而投了一个计算机相关岗位,那失败的概率很大,也就是匹配度很低。

小编写了一个爬虫,以 51 招聘为目标,自己设置岗位,城市,自己的技能,以自己的技能为关键词,如果关键词在招聘信息中存在的话,那就把这条招聘的 url 保存下来。

在岗位较少的情况下,或许手工浏览还可以,但在招聘有很多页时,就需要花时间一个一个查看了,这个程序的目的就是解放双手,节省时间,自动化去匹配符合自己技能的招聘,把 url 保存在 txt,可以直接方便查看,过滤掉跟自己匹配度较低的招聘。




配置文件 

新建一个 txt 文本,直接改后缀为 .conf 就是配置文件了,在配置文件中写入内容:



爬 51 匹配最适合岗位_java_03


[51job] 为配置文件的一项,这样的标题可以有多个,[] 括起来,里面是标题内容。

下面是定义的三个变量,小编取得变量名很容易看出是什么意思,job 只能写一个,因为在代码中只取第一个;skill 是小编设置的自己的技能,在招聘中,可能第一个字母是大写,可以根据自己的技能设置。

读取配置文件使用 configparser 库,get() 方法里面的 51job 就是配置文件的一个标题,读取的三个变量是以列表形式获得:



爬 51 匹配最适合岗位_java_04





url 构造

首先我们需要构造 url,我们以 “数据分析实习+广州” “数据分析实习+深圳” 为例,对比 url:


爬 51 匹配最适合岗位_java_05
爬 51 匹配最适合岗位_java_06


发现画横线的不一样,是城市的编号;圈着的是岗位名称。

所以我们需要抓包,请求获得对应的城市编号,在首页经过抓包城市编号如下:



爬 51 匹配最适合岗位_java_07


请求获得后,在经过处理,转换为以城市,编号为键值对的字典然后在请求的时候获得字典中的城市对应的编号即可:



爬 51 匹配最适合岗位_java_08




构造页数

在打开了招聘信息的页面后,我们可以根据页面的中职位数计算有多少页需要爬取:



爬 51 匹配最适合岗位_java_09
爬 51 匹配最适合岗位_java_10




 提取详情链接 

得到总页数后,循环提取每一页的岗位的详情链接:



爬 51 匹配最适合岗位_java_11




 匹配 

得到详情链接后,遍历每一条链接,从中提取任职要求,在根据自己设置的技能匹配自己的技能是否在招聘条件中,有就保存 url:



爬 51 匹配最适合岗位_java_12


以上就是爬虫的主要流程,详细的细节可查看完整代码。




 结果展示

来看看 txt:



爬 51 匹配最适合岗位_java_13


我们打开第一个链接查看 python 关键字是否在招聘的要求技能中:



爬 51 匹配最适合岗位_java_14


这样就可以很快的获得匹配度较为合适的招聘链接。


当然小编只设置了一个关键字,只要有一个关键字在那就保存,可以修改代码为组合这些关键字,都在才保存。