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行


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值