爬取猎聘网招聘信息,我竟发现了最实用的程序员学习路线!

2023-10-11 22:10

本文主要是介绍爬取猎聘网招聘信息,我竟发现了最实用的程序员学习路线!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转自:https://mp.weixin.qq.com/s/lmGsjZdNP9HVlegBRMOZQw

 

前两天,刚好看到网上的一些学习路线图,又对比了招聘网站上的要求,发现这两者其实差不多。

所以就用爬虫爬取了猎聘网上的岗位信息,对这些招聘信息进行处理,从中找出需要掌握的一些语言和工具,从而有目的地进行学习,更快的提高自己的能力,让自己不再为不知道学习线路而烦恼,也能够更好的符合招聘要求。

 

                                                             

                                                                                                查看网页

                                                                                            搜索首页

                                                                                                   详细要求

从这个岗位职责中,可以看出需要掌握的工具或语言绝大多数都是以英文为主。所以主要提取英文就行了。至于其他的信息就不进行提取了

                                                                

                                                                                               流程

 

  1.                                                                      爬取搜索到的岗位链接;

  2.                                                                      进一步爬取详细的岗位要求;

  3.                                                                      提取其中英文单词;

  4.                                                                      pyecharts展示。

    1.                                 

                                                                爬取招聘岗位

    2. 使用BeautifulSoup进行解析,主要将岗位名称、详细链接、公司、薪资、位置和学历要求这几个信息存到MongoDB中就好。

    3. def getLink(seachname, pagenum):for i in range(pagenum):url = "https://www.liepin.com/zhaopin/?init=-1&key={}&curPage={}".format(seachname, i)web_data = requests.get(url=url, headers=header)soup = BeautifulSoup(web_data.content, 'lxml')job_list = soup.select(".sojob-list > li")for item in job_list:name = item.select(".job-info > h3")[0]['title']link = item.select(".job-info > h3 > a")[0]['href']company = item.select(".company-name > a")[0].textsalary = item.select(".text-warning")[0].textlocation = item.select(".area")[0].texteducation = item.select(".edu")[0].textdata = {"title": name,"link": link,"company": company,"salary": salary,"location": location,"education": education,}pywork.insert(data) #使用MongoDB存储

       

                                                                        

                                                                                                   详细岗位要求

由于任职要求中有<br>标签,需要将其切除,而且由于使用BeautifulSoup解析,所以<br>是tag对象,需要创建对象再删除。被这个问题困住了好久。之后将所有爬取到的岗位要求都写到一个文件中,方便后期使用JieBa切分。

def getInfo(url, demands_text):web_data = requests.get(url, headers=header)soup = BeautifulSoup(web_data.content, 'lxml')try:demands = soup.select(".content-word")[0].contentsdemands = sorted(set(demands), key=demands.index)# 删除<br/>delete_str = "<br/>"br_tag = BeautifulSoup(delete_str, "lxml").brdemands.remove(br_tag)# 拼接所有要求for item in demands:demands_text += item.replace("
", "")#写入文件f = open('demands.txt', mode='a+', encoding='UTF-8')f.write(demands_text + "
")f.close()except:logging.log("warning...")

                                                                   

                                                                                                     分词

使用JieBa分词之后,还需要将一些单词例如:or,pc等上删除,本着“宁可错杀一千,不可放过一个”的原则,所以将少于1个字母的单词使用正则去掉

def CutWordByJieBa(txt, seachname):seg_list = jieba.cut(txt, cut_all=True)w1 = "/ ".join(seg_list)  # 全模式fil = re.findall('[a-zA-Z]{1,}/', w1) # 提取英文strl = ""for i in fil:strl += istrl = strl.lower() # 全部转换为小写

                                                               

                                                                                              可视化

 在这部分,之前只想着将需要掌握的工具用词云进行展示就好。然而,有点幸运呀!当使用Navicat12连接到MongoDB的时候,发现它有自动作图分析的功能。所以先用Navicat中的功能,简单的来看一下总体情况:

以爬虫工程师为关键词查询后,使用pyecharts进行数据展示:

 

                                                             

                                                                                                 重点

对比词云和bar图,感觉词云更加准确。但是柱状图却更便于分类,比如上图就可以发现需要掌握的工具可以分为三类:

  1. 数据库:MySQL、Oracle、MongoDB;

  2. 解析:XPath、CSS;

  3. 反爬:Cookie、IP、Scrapy、JWT。

其中JWT(JSON Web Token)我就不认识。所以通过这种方式,我就可以找到自己的盲区,就算不深入了解学习,但是百度一下,大概了解它是什么,还是可以的

                                                               

                                                                                                 最后

 

如果有感兴趣的小伙伴,可以自己动手试一下。个人感觉这些排名前10的工具对自己的学习线路、职业规划还是有点帮助的。也希望能够对那些正在迷茫的朋友有所帮助!

作者简介:Don Lex,在校大学生,正在发育并且渴望成为一个有技术、有情怀的coder。个人公众号 Python绿洲。

声明:本文为作者投稿,版权归对方所有。

这篇关于爬取猎聘网招聘信息,我竟发现了最实用的程序员学习路线!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/qq_32523587/article/details/85193099
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/191163

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

MySQL 添加索引5种方式示例详解(实用sql代码)

《MySQL添加索引5种方式示例详解(实用sql代码)》在MySQL数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中,下面给大家分享MySQL添加索引5种方式示例详解(实用sql代码),... 在mysql数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中。索引可以在创建表时定义,也可

Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法

《Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法》在Linux系统中,管理磁盘设备和分区是日常运维工作的重要部分,而lsblk命令是一个强大的工具,它用于列出系统中的块设备(blockde... 目录1. 查看所有磁盘的物理信息方法 1:使用 lsblk(推荐)方法 2:使用 fdisk -l(

SpringBoot如何对密码等敏感信息进行脱敏处理

《SpringBoot如何对密码等敏感信息进行脱敏处理》这篇文章主要为大家详细介绍了SpringBoot对密码等敏感信息进行脱敏处理的几个常用方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录​1. 配置文件敏感信息脱敏​​2. 日志脱敏​​3. API响应脱敏​​4. 其他注意事项​​总结

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

9个SpringBoot中的自带实用过滤器使用详解

《9个SpringBoot中的自带实用过滤器使用详解》在SpringBoot应用中,过滤器(Filter)是处理HTTP请求和响应的重要组件,SpringBoot自带了许多实用的过滤器,如字符编码,跨... 目录1. CharacterEncodingFilter - 字符编码过滤器功能和配置手动配置示例2

springboot实现配置文件关键信息加解密

《springboot实现配置文件关键信息加解密》在项目配置文件中常常会配置如数据库连接信息,redis连接信息等,连接密码明文配置在配置文件中会很不安全,所以本文就来聊聊如何使用springboot... 目录前言方案实践1、第一种方案2、第二种方案前言在项目配置文件中常常会配置如数据库连接信息、Red

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen