Python爬取的BOSS直聘的数据

2023-11-12

临近年末,“互联网寒冬”的来临让大家倍感压力,大家纷纷感叹寒冬将至。但是,越是这个时候,越要明确自己的奋斗目标,不断的充实自己,提高自己的能力,为找工作打下坚实的基础。

本次我们爬取了招聘网站上关于计算机视觉方向的招聘信息,并对于招聘信息进行分析,看一下目前计算机视觉方向对于应聘者的需求如何。

首先招聘信息的爬取采用的是selenium 库,对boss 直聘招聘网站进行爬取,因为网站对于反爬的验证码比较复杂,即便是利用tesserocr 来对这种验证码识别的也很难将其识别准确,因此直接采用selenium库,对于网页信息进行爬取。对于验证码仍需要人工来进行识别并进行操作。但是由于爬取的过程中,对网页进行了模拟浏览过程,因此几乎不会产生反爬环节。

 

对于招聘信息的提取首先是打开我们所要查询的招聘方向的链接,这里我们查询的是计算机视觉方向(自己更改所需即可),然后针对每一页上的每一个招聘链接,在新的网页进行打开,然后爬取其网页信息。整体的运行效果图如下动图所示。

 

对于每一个招聘链接,利用BeautifulSoup进行网页信息的提取,并将其保存到csv文件当中,具体代码如下图所示。

完整代码获取见文末 

这里我们爬取了招聘信息中,对于应聘者的学历、经验的要求,以及招聘者提出的工作要求和薪金待遇以及工作地点。将爬取后的信息保存为csv文件放到根文件夹下,至此爬取招聘信息的工作便完成。爬取的信息如下如所示。

首先,我们想观察一下目前招聘者对于应聘者的工作要求,因此为了更加直观的展示工作要求,我们采用词云的形式,对于工作要求中的关键词进行展示。

采用词云的优势在于:第一,展示起来比较美观,第二是出现频率越高的关键词,其字体也越大,因此更能直观的进行展示。

对于爬取得到的信息,利用pandas进行读取,然后将“工作要求”一项进行提取后,采用jieba进行分析,并结合WordCloud库进行展示,得到的结果如下如所示。

 

由词云我们可以看出,目前计算机视觉领域深度学习技术是最杯招聘者所看重的一项技能,因此它的出现频率也是最高的。其次对于机器学习、图像处理技术也要进行掌握,并能达到熟练掌握的程度。如果有小伙伴想要进军计算机视觉领域的话,那么上述的词云所体现的信息,将会对你有很大的帮助,在处理完“工作需求之后”,我们还对大家普遍关心的“工资”水平和“经验”要求进行了分析。

由于招聘者对于工资都是提供一个大概的范围,因此,这里我们采取招聘者提供的平均工资来作为我们的“工资”数据,根据平均工资的最大值跟最小值将工资分为五类,可视化数据如下图所示。

 

 

由工资图可以看出,目前计算机视觉领域的工资水平大都集中在20K到30K之间,还是一个相当不错的工资水平。

对于经验的分析,我们也进行了分析,如下图所示。

 

 

由上图可以看出,招聘者对于应聘者的经验还是十分看重的,因此如果小伙伴是在校生的话,还是抓住机会出去实习,增长自己的经验吧。

完整代码和爬取结果 csv 文件,在后台回复关键词 boss 即可

扫码回复“boss????

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python爬取的BOSS直聘的数据 的相关文章

  • 蓝牙发送和接收文本数据

    我是 Android 开发新手 我想制作一个使用蓝牙发送和接收文本的应用程序 我得到了有关发送文本的所有内容逻辑工作 但是当我尝试在手机中测试它时 我看不到界面 这是Main Activity Code import android sup
  • scikit-learn 和tensorflow 有什么区别?可以一起使用它们吗?

    对于这个问题我无法得到满意的答案 据我了解 TensorFlow是一个数值计算库 经常用于深度学习应用 而Scikit learn是一个通用机器学习框架 但它们之间的确切区别是什么 TensorFlow 的目的和功能是什么 我可以一起使用它
  • Jetty、websocket、java.lang.RuntimeException:无法加载平台配置器

    我尝试在 Endpoint 中获取 http 会话 我遵循了这个建议https stackoverflow com a 17994303 https stackoverflow com a 17994303 这就是我这样做的原因 publi
  • 如何使用 PyMongo 在重复键错误后继续插入

    如果我需要在 MongoDB 中插入尚不存在的文档 db stock update one document set document upsert True 将完成这项工作 如果我错了 请随时纠正我 但是 如果我有一个文档列表并想将它们全
  • 如何在JPanel中设置背景图片

    你好 我使用 JPanel 作为我的框架的容器 然后我真的想在我的面板中使用背景图片 我真的需要帮助 这是我到目前为止的代码 这是更新 请检查这里是我的代码 import java awt import javax swing import
  • Python 3在for循环中更改字典键的值不起作用

    我的 python 3 代码没有按预期工作 def addFunc x y print x y def subABC x y z print x y z def doublePower base exp print 2 base exp d
  • 如何使用 Celery 多工作人员启用自动缩放?

    命令celery worker A proj autoscale 10 1 loglevel info启动具有自动缩放功能的工作人员 当创建多个工人时 me mypc projects x celery multi start mywork
  • 轻松的反应

    我有一个与这里描述的类似的案例 动态更改RESTEasy服务返回类型 https stackoverflow com questions 3786781 dynamically change resteasy service return
  • 为什么\0在java中不同系统中打印不同的输出

    下面的代码在不同的系统中打印不同的输出 String s hello vsrd replace 0 System out println s 当我在我的系统中尝试时 Linux Ubuntu Netbeans 7 1 它打印 When I
  • 使用 WSGI 在 Windows XAMPP 中设置 Python 路径

    我正在 Webfaction 上设置实时服务器的开发版本 在本地计算机上的虚拟 Apache 服务器环境 运行没有任何错误 中运行 Django 应用程序 XP 使用 Python 2 6 运行 XAMPP Lite 我可以提交更改通过 G
  • Selenium 不会在新选项卡中打开新 URL(Python 和 Chrome)

    我想使用 Selenium WebDriver 和 Python 在不同的选项卡中打开相当多的 URL 我不确定出了什么问题 driver webdriver Chrome driver get url1 time sleep 5 driv
  • 使用 HtmlUnit 定位弹出窗口

    我正在构建一个登录网站并抓取一些数据的程序 登录表单是一个弹出窗口 所以我需要访问这个www betexplorer com网站 在页面的右上角有一个登录链接 写着 登录 我单击该链接 然后出现登录弹出表单 我能够找到顶部的登录链接 但找不
  • 根据列索引重命名 Dataframe 列

    是否有内置函数可以按索引重命名 pandas 数据框 我以为我知道列标题的名称 但事实证明第二列中有一些十六进制字符 根据我接收数据的方式 我将来可能会在第 2 列中遇到这个问题 因此我无法将这些特定的十六进制字符硬编码到 datafram
  • 在Python中连续解析文件

    我正在编写一个脚本 该脚本使用 HTTP 流量行解析文件 并取出域 目前仅将它们打印到屏幕上 我正在使用 httpry 将流量连续写入文件 这是我用来删除域名的脚本 usr bin python import re input open r
  • 列表过滤器内的 Java 8 lambda 列表

    示例 JSON id 1 products id 333 status Active id 222 status Inactive id 111 status Active id 2 products id 6 status Active
  • java XMLSerializer 避免复杂的空元素

    我有这个代码 DocumentBuilderFactory factory DocumentBuilderFactory newInstance DocumentBuilder builder factory newDocumentBuil
  • 沿轴 0 重复 scipy csr 稀疏矩阵

    我想重复 scipy csr 稀疏矩阵的行 但是当我尝试调用 numpy 的重复方法时 它只是将稀疏矩阵视为对象 并且只会将其作为 ndarray 中的对象重复 我浏览了文档 但找不到任何实用程序来重复 scipy csr 稀疏矩阵的行 我
  • Android View Canvas onDraw 未执行

    我目前正在开发一个自定义视图 它在画布上绘制一些图块 这些图块是从多个文件加载的 并将在需要时加载 它们将由 AsyncTask 加载 如果它们已经加载 它们只会被绘制在画布上 这工作正常 如果加载了这些图片 AsyncTask 就会触发v
  • 抛出 Java 异常时是否会生成堆栈跟踪?

    这是假设我们不调用 printstacktrace 方法 只是抛出和捕获 我们正在考虑这样做是为了解决一些性能瓶颈 不 堆栈跟踪是在构造异常对象时生成的 而不是在抛出异常对象时生成的 Throwable 构造函数调用 fillInStack
  • 使用 SERVER_NAME 时出现 Flask 404

    在我的 Flask 配置中 我将 SERVER NAME 设置为 app example com 之类的域 我这样做是因为我需要使用url for with external网址 如果未设置 SERVER NAME Flask 会认为服务器

随机推荐