一般来说 class=“ ” , “ ”里的东西就是我们想要的节点,加上 . 就是代表所有同样的节点! employ_job_name_inf = web %>% 基于此,我们可以获取岗位的名称,招聘发布的时间,职位的介绍等等!由于笔者比较懒用手一页一页的导入保存数据,所以笔者编出了以下的for循环,读取数据,并将数据通过write.csv()保存下来。 web = employ_job_name_inf = web %>% employ_salary_inf = web %>% employ_address_inf = web %>% employ_edu_inf = web %>% employ_time_inf = web %>% employ_describe_inf = web %>% employ_describe_inf = employ_describe_inf <- gsub(“rn”,””,employ_describe_inf)
R语言爬虫实例分析—–以广西人才网为例
在生活中,我们常常需要浏览一些网站,并将自己喜欢的数据(ctrl+c)保存下来,可当我们想保存很多数据的时候呢??我们还需要一个一个的(ctrl+c)保存下来吗?what should I do? 答案当然不是!!so,笔者将在以下的R语言爬取网页的数据中,向你一一诉说!(若有不对,还望python大佬们指正,轻喷,谢谢!)
知道这些东西之后,我们开始了解网页,复制两三页网址,观察其中的不同(找不同哦)
https://s.gxrc.com/sJob?keyword=%E8%AE%A1%E7%AE%97%E6%9C%BA&schType=1&page=1
https://s.gxrc.com/sJob?keyword=%E8%AE%A1%E7%AE%97%E6%9C%BA&schType=1&page=2
通过观察
我们发现在page=? 就可以找到了不同网页的大致规律啦!
知道了这些东西也还不够哦!
我们再了解一些东西!!!网页节点!(这是重点,记笔记!)
我们打开上面的网址,按下F12键,打开网页控制台
如图
 ### 读取网页的包
library(rvest) ### 爬取网页的包
library(dplyr) ### 数据分析
library(stringr) ### 字符串处理包
web =
read_html(paste0(“https://s.gxrc.com/sJob?keyword=%E8%AE%A1%E7%AE%97%E6%9C%BA&schType=1&page=1”),encoding = “UTF-8”,stringsAsFactors = FALSE)抓取招聘的岗位名称(posName)
html_nodes(“.posName”) %>%
html_text() ############### %>% 可理解为管道
# 先连接web,再将()里的节点的内容传送到 html_text中
我们查看employ_job_name_inf 得出:
##(别忘了加载相关包包哦)
employ_basic_inf = data.frame() ### 建立大量数据框 便于后继的数据导入
####读取100页数据
for (i in 1:100) {导入招聘信息的网址 (广西人才网)
read_html(paste0(“https://s.gxrc.com/sJob?keyword=%E8%AE%A1%E7%AE%97%E6%9C%BA&schType=1&page=”,i),encoding = “UTF-8”,stringsAsFactors = FALSE)(1) 抓取招聘的岗位名称(posName)
html_nodes(“.posName”) %>%
html_text() ############### %>% 可理解为管道先连接web,再将()里的节点的内容传送到 html_text中
后继的相关符号也是一样
(2) 抓取招聘岗位的薪水(w3)
html_nodes(“.w3”) %>%
html_text()
employ_salary_inf =
str_replace_all(employ_salary_inf,” “,””)
employ_salary_inf<-gsub(“rn”,” “,employ_salary_inf)
employ_salary_inf <- data.frame(employ_salary_inf)
employ_salary_inf=employ_salary_inf[-c(1,2),]
employ_salary_inf = as.character(employ_salary_inf)(3) 抓取招聘公司的地址(w4)
html_nodes(“.w4”) %>%
html_text()
employ_address_inf=data.frame(employ_address_inf)
employ_address_inf=employ_address_inf[-c(1,2),]
employ_address_inf = as.character(employ_address_inf)(4) 抓取招聘岗位要求的学历的相关信息(经验等)(qitaUL)
html_nodes(“.qitaUL”) %>%
html_text()
employ_edu_inf =
str_replace_all(employ_edu_inf,” “,””)
employ_edu_inf = gsub(“rn”,” “,employ_edu_inf)(5)抓取招聘发布的时间(w5)
html_nodes(“.w5”) %>%
html_text()
employ_time_inf = data.frame(employ_time_inf)
employ_time_inf = employ_time_inf[-c(1:10),]
employ_time_inf = as.character(employ_time_inf)(5)抓取招聘的岗位描述(posInfo) “.”表示全部的
html_nodes(“.posInfo”) %>%
html_text()删掉大量的空格
str_replace_all(employ_describe_inf,” “,””)通过gsub删掉软回车(n)、软空格(r)、制表符(t)
employ_describe_inf <- gsub(“t”,””,employ_describe_inf)
employ =data.frame(employ_job_name_inf,employ_salary_inf
,employ_address_inf,employ_edu_inf
,employ_time_inf,employ_describe_inf)
employ_basic_inf = rbind(employ_basic_inf,employ)
##print(employ) 打印输出 (可以打印输出,但是比较散)
}
我们查看数据:
数据保存到csv中:
write.csv(employ_basic_inf,file = “D://Homework//rpython//employ_basic_inf1.csv”)
:由于笔者能力有限,所以对于程序的编写还存在小问题,还望大佬们指正!(觉得笔者写得不错的可以评论区里留言哟!!)
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算