用Rvest包再爬拉勾网
来源:互联网 发布:软件行业的外包 编辑:程序博客网 时间:2024/05/01 20:55
从网上查看了很多Rvest爬取网页的博客,比较多的是爬取拉钩的示例,我以这个示例分享下供大家参考:
library(rvest)lagou<-"https://www.lagou.com/zhaopin/qianduankaifa/" #拉钩网址前部分
#因为需要爬取很多页的拉钩数据,因此需要构建一个爬取数据的函数getdata<-function(url,i){url<-paste0(lagou,i,"/?filterOption=3") #构建各个页拉钩网址web<-read_html(url,encoding = "UTF-8") #将拉钩网页代码读取到本地;注意的是一定要设置格式,一般情况下设置为"UTF-8",如果要是设置为"UTF-8"读取失败一定得换成其他格式进行读取,直到成功为止,这一点一定要切记切记啊!满满得泪啊company<-web %>% html_nodes("div.company_name a") %>% html_text() %>% iconv("UTF-8","GB2312") #读取招聘公司名称,用html_nodes读取存储公司名称的网页代码节点,再用html_text读取该节点的公司名称,至于这里的关键点找存储公司名称的节点可以自己搜搜,网上有很多介绍。这里我最想强调的还是格式问题,通过html_text读取的公司名称一般情况下都需要转码,如:iconv("UTF-8","GB2312"),特别是涉及到中文字符一定要转码为GB2312!job<-web %>% html_nodes("a.position_link h2") %>% html_text() %>% iconv("UTF-8","GB2312")salary<-web %>% html_nodes("div.li_b_l span.money") %>% html_text() %>% iconv("UTF-8","GB2312")demand<-web %>% html_nodes("div.li_b_l") %>% html_text() %>% iconv("UTF-8","GB2312") demand<-gsub("\n|\\s+","",demand)#文本处理,将文本中的"\n"和空格删除demand<-demand[grep(".*经验>*",demand)] %>%strsplit(split="/")demand<-unlist(demand)degree<-demand[seq(2,length(demand),2)]year<-gsub("经验",",",demand) %>% strsplit(split=",") %>% unlist(.) %>% .[seq(2,length(.),3)]type<-web %>% html_nodes("div.industry") %>% html_text() %>% iconv("UTF-8","GB2312") %>% gsub("\n|\\s+","",.) %>% strsplit(split="/") %>% unlist()industry<-type[seq(1,length(type),2)]com_level<-type[seq(2,length(type),2)]com_leveldata.frame(company,job,salary,degree,year,industry,com_level)}final<-""for (i in 1:10) {#由于拉钩数据在不断更新,隔断时间爬取多页可能就不成功了,那就把此处的10改为1,先感受下爬到数据的喜悦 final<-rbind(final,getdata(lagou,i))}final<-final[-1,]
#以下就是爬取豆瓣的结果:
0 0
- 用Rvest包再爬拉勾网
- 用rvest包爬取豆瓣图书数据
- R学习:用rvest包爬取imdb网站电影信息
- rvest爬取链家网数据
- rvest包爬取猎聘网招聘信息
- rvest包文档简易翻译
- R语言rvest爬取
- rvest爬虫及案例分析
- R语言rvest包简介
- R语言网页抓取入门-rvest包
- 如何用rvest包爬取豆瓣图书250的数据
- R语言爬虫之rvest包初试(一)
- 【R 语言爬虫】rvest 包实战链家爬虫
- R语言:使用rvest包进行数据简单抓取
- 使用rvest包抓取新浪财经A股交易数据
- R语言-使用rvest收集狗熊会基础案例
- R语言rvest包爬取当当网单个商品的商品id,品牌,价格等商品属性
- R语言:rvest抓取赶集网北京海淀区房产数据(应该有更好的办法)
- Eclipse开启弹出"Subversive Connector Discovery"窗口解决办法
- OpenDDS开发手册---第一章
- Java多线程问题 Top 50
- 蓝桥杯 ALGO-155 算法训练 C++ CH08 01
- 线性表——顺序表
- 用Rvest包再爬拉勾网
- vue.js环境搭建详解
- java笔记:SpringSecurity应用
- linux面试题
- python 记一次计算qzonetoken经历
- 多线程基于Mybatis框架下的聊天对话程序
- C++ 开发工程师 第三周笔记 boolan.com
- Ansible playbook
- javafx argument type mismatch 异常