当前位置: 首页 > 科技观察

使用Python爬取分析51job.com大数据职位信息!找到最适合你的

时间:2023-03-14 22:10:32 科技观察

近期,秋招进入高峰期。28校举行大型秋季招聘招聘会。想在网上搜索自己专业的招聘职位,但是搜索结果很少(摊手),于是就去勉强爬了一下,分析了一波自己打算转行的大数据行业的就业市场.爬虫的基本思路在51job官网“大数据”的搜索结果中,每条搜索结果详情对应的URL存储在a标签的href属性中,而可以通过组合选择器找到每个搜索结果的详细信息。51job职位信息数据固定放置在HTML的每个标签中,可以通过id选择器、标签选择器、组合选择器获取公司名称、职位、薪水等11个字段的数据。基于以上1和2,可以通过解析和检索从“大数据”中得到的URL得到它的HTML,然后从HTML中特定位置的a标签中得到每个帖子详情对应的URL;然后解析每个帖子对应的详情,从URL中获取其HTML,然后从结果HTML的具体位置找到每个职位的详情。具体位置如何确定?通过组合选择器!直接贴51job爬虫的具体代码,很容易破坏我的排版。具体代码见:https://github.com/cugwhzenith/SpiderOf51job.git,其中SpiderOf51job.py为爬虫代码,关键点运行见注释。其他代码是爬虫代码的处理。爬虫结果我把爬虫结果存储成csv格式,看起来不直观,所以打算用wordcloud和直方图来可视化爬虫结果。爬虫结果的处理一般来说,求职者最关心的是职位、职位、薪资、所需技术等。正好上面爬虫的结果包含了这四个字段。1.工资结果处理。爬虫结果中,工资在第二列,一般是“10000-20000/月”、“200000/年”、“500/天”等结果。首先判断每条结果的最后一个字符为“年”、“月”、“日”,确定处理逻辑后,使用re.sub函数将除数字以外的字符替换为空格,最后将结果求平均为得到每个结果的平均值。有关详细信息,请参阅wordcloudPlotSalary.py。2.所需工艺的加工。考虑到大数据要用到的技术大部分都是老外开发的,我老老实实把大数据要用到的技术领域的中文全部换成空格,然后用jieba去掉一些无意义的粒子,就得到了数据将使用的技术的大词云。具体代码见wordcloudPlotJobinfo.py。3.worklocation和jobtitle的处理和上面2类似,参考wordcloudPlotPlace.py和wordcloudPlotName.py,这里不再赘述,直接放结果。工作地点词云:职位词云:摘要51job出现频率最高的大数据相关职位是:大数据开发工程师平均工资:18K/月大数据职位最多的城市是:上海、广州与深圳和大数据打交道的需求技能是:Hadoop、SQL和Python