rvest包优雅的爬取猎聘网招聘信息

2023-10-11 22:10

本文主要是介绍rvest包优雅的爬取猎聘网招聘信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

library(rvest)
url<-"https://www.liepin.com/zhaopin/?init=1"

#内存要大

page<-read_html(url) 

position<-page%>%html_nodes('ul.sojob_list div.sojob-item-main div.job-info,h3 a')%>%html_text(trim =TRUE)
position<- position[-41] #查看职位


link<- page %>% html_nodes('ul.sojob_list  div.job-info,h3 a')%>%html_attrs()
link[1]
link1<-c(1:length(link))  #初始化一个和link长度相等的link1
for(i in 1:length(link))
  link1[i]<-link[[i]][1]
link1  #查看link1
link2<-link1[-41] #删除最后一行
link2#查看link2
link<-link2 

#薪水
salary <- page %>% html_nodes('span.text-warning') %>% html_text()
salary 

#工作地点
place <- page %>% html_nodes('p.condition a') %>% html_text()
place

#教育
edu<-page %>% html_nodes('span.edu') %>% html_text()
edu

# 工作经验
experience <- page %>% html_nodes('p.condition span') %>% html_text()
experience


dt<-matrix(,length(experience)/3,3)  #定义一个数据框,报存数据,也是为了方便后面数据进行对比
colnames(dt)<-c("sal","ed","exp")  #数据框列命名 第一个是薪水,第二个是学历,第三个是经验
for(n in 1:3)  #n代表第n列
{
  j<-1   #列数自加
  i<-n   #初值代表第一列的初值位置
  while(i<=length(experience))
  {
    dt[j,n]=experience[i];
    j<-j+1
    i <- i+3
  }
}


Alldata<-matrix(,40,6)  #定义一个40行,6列的矩阵
Alldata[,1]<-position
Alldata[,2]<-dt[,1]
Alldata[,3]<-dt[,2]
Alldata[,4]<-dt[,3]
Alldata[,5]<-place
Alldata[,6]<-link
colnames(Alldata)<-c("职位","薪水","学历","经验","工作地点","链接")  #给列命名

head(Alldata)  #查看Alldata数据前6行


这篇关于rvest包优雅的爬取猎聘网招聘信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/191164

相关文章

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

C#读取本地网络配置信息全攻略分享

《C#读取本地网络配置信息全攻略分享》在当今数字化时代,网络已深度融入我们生活与工作的方方面面,对于软件开发而言,掌握本地计算机的网络配置信息显得尤为关键,而在C#编程的世界里,我们又该如何巧妙地读取... 目录一、引言二、C# 读取本地网络配置信息的基础准备2.1 引入关键命名空间2.2 理解核心类与方法

轻松掌握python的dataclass让你的代码更简洁优雅

《轻松掌握python的dataclass让你的代码更简洁优雅》本文总结了几个我在使用Python的dataclass时常用的技巧,dataclass装饰器可以帮助我们简化数据类的定义过程,包括设置默... 目录1. 传统的类定义方式2. dataclass装饰器定义类2.1. 默认值2.2. 隐藏敏感信息

Go信号处理如何优雅地关闭你的应用

《Go信号处理如何优雅地关闭你的应用》Go中的优雅关闭机制使得在应用程序接收到终止信号时,能够进行平滑的资源清理,通过使用context来管理goroutine的生命周期,结合signal... 目录1. 什么是信号处理?2. 如何优雅地关闭 Go 应用?3. 代码实现3.1 基本的信号捕获和优雅关闭3.2

C#如何优雅地取消进程的执行之Cancellation详解

《C#如何优雅地取消进程的执行之Cancellation详解》本文介绍了.NET框架中的取消协作模型,包括CancellationToken的使用、取消请求的发送和接收、以及如何处理取消事件... 目录概述与取消线程相关的类型代码举例操作取消vs对象取消监听并响应取消请求轮询监听通过回调注册进行监听使用Wa