R语言 rvest爬取大众点评上海商场信息(R语言&大数据分析qq群 456726635 欢迎讨论交流)
2017-07-07 09:31
1461 查看
library(rvest)
library(xml2)
library(magrittr)
#点评官网
dianpingweb<-"http://www.dianping.com"
#综合商场
comshop<-"/search/category/1/20/g119p"
#
webii<-seq(1:22)
fulldata<-data.frame()
for(i in webii)
{
web<-read_html(paste0(dianpingweb,comshop,as.character(i)),encoding="UTF-8") #"http://www.dianping.com/search/category/1/20/g119"
#商城名字
businame<-web %>% html_nodes("div.tit")%>% html_nodes("h4")%>% html_text()
busitag<-web %>% html_nodes("div.tag-addr")%>% html_nodes("a")%>% html_nodes("span")%>% html_text()
temptag<-matrix(busitag,ncol=2,byrow=T)
#商城类别和商城地址
busicatog<-temptag[,1]
busiaddr<-temptag[,2]
#商城等级
busideg<-web %>% html_nodes("div.comment")%>% html_nodes("span")%>%html_attr("title")
#评论数
# reviewa<-web %>% html_nodes("div.comment")%>% html_nodes("a.review-num")%>%html_text()
reviewnum<-web %>% html_nodes("div.comment")%>% html_nodes("a.review-num b")%>%html_text()
# reviewa
#平均消费tempprice
nullprice<-web %>% html_nodes("a.mean-price b")%>%html_text()
nullprice<-gsub(pattern = "¥", replacement = "", nullprice)
pricea<-web %>% html_nodes("a.mean-price")%>%html_text()
jvector<-vector()
for(j in 1:length(pricea))
{
pricelist=unlist(strsplit(pricea[j],split=" "))
pricegrep<-grep(pattern = "\\¥", pricelist, value = TRUE)
if(identical(pricegrep, character(0)))
{
jvector[j]=0
}
else jvector[j]=1
}
meanprice=jvector
ii=1
for(k in 1:length(jvector))
{
if(jvector[k]==1)
{
meanprice[k]=nullprice[ii]
ii=ii+1
}
}
meanprice
#下一层连接url
childhtml<-web %>% html_nodes("div.pic")%>% html_nodes("a")%>%html_attr("href")
print(i)
}
图片中是爬取的数据样例。
点击链接加入群【R语言&大数据分析】:https://jq.qq.com/?_wv=1027&k=4BQLEWp,R语言&大数据分析qq群 456726635 欢迎讨论交流
library(xml2)
library(magrittr)
#点评官网
dianpingweb<-"http://www.dianping.com"
#综合商场
comshop<-"/search/category/1/20/g119p"
#
webii<-seq(1:22)
fulldata<-data.frame()
for(i in webii)
{
web<-read_html(paste0(dianpingweb,comshop,as.character(i)),encoding="UTF-8") #"http://www.dianping.com/search/category/1/20/g119"
#商城名字
businame<-web %>% html_nodes("div.tit")%>% html_nodes("h4")%>% html_text()
busitag<-web %>% html_nodes("div.tag-addr")%>% html_nodes("a")%>% html_nodes("span")%>% html_text()
temptag<-matrix(busitag,ncol=2,byrow=T)
#商城类别和商城地址
busicatog<-temptag[,1]
busiaddr<-temptag[,2]
#商城等级
busideg<-web %>% html_nodes("div.comment")%>% html_nodes("span")%>%html_attr("title")
#评论数
# reviewa<-web %>% html_nodes("div.comment")%>% html_nodes("a.review-num")%>%html_text()
reviewnum<-web %>% html_nodes("div.comment")%>% html_nodes("a.review-num b")%>%html_text()
# reviewa
#平均消费tempprice
nullprice<-web %>% html_nodes("a.mean-price b")%>%html_text()
nullprice<-gsub(pattern = "¥", replacement = "", nullprice)
pricea<-web %>% html_nodes("a.mean-price")%>%html_text()
jvector<-vector()
for(j in 1:length(pricea))
{
pricelist=unlist(strsplit(pricea[j],split=" "))
pricegrep<-grep(pattern = "\\¥", pricelist, value = TRUE)
if(identical(pricegrep, character(0)))
{
jvector[j]=0
}
else jvector[j]=1
}
meanprice=jvector
ii=1
for(k in 1:length(jvector))
{
if(jvector[k]==1)
{
meanprice[k]=nullprice[ii]
ii=ii+1
}
}
meanprice
#下一层连接url
childhtml<-web %>% html_nodes("div.pic")%>% html_nodes("a")%>%html_attr("href")
print(i)
}
图片中是爬取的数据样例。
点击链接加入群【R语言&大数据分析】:https://jq.qq.com/?_wv=1027&k=4BQLEWp,R语言&大数据分析qq群 456726635 欢迎讨论交流
相关文章推荐
- R语言 shiny企业轻量级可视化应用案例(R语言&大数据分析qq群 456726635 欢迎讨论交流)
- R语言 堆叠可视化/可视化对比分析简单学习案例(R语言&大数据分析qq群 456726635 欢迎讨论交流)
- sqoop 从mysql导入数据到HDFS(R语言&大数据分析qq群 456726635 欢迎讨论交流)
- 技术讨论交流QQ群:15585961,欢迎大家加入
- 欢迎加入本人建的QQ群,讨论技术,生活及每天都有招聘信息
- datastage调度之java调度 欢迎加QQ群:106389516讨论
- 现在的你必须作出未来的预想,欢迎大家参与讨论、交流
- 欢迎加入Hello China技术讨论群组-QQ群:38467832
- 欢迎加入Hello China技术讨论群组-QQ群:38467832
- 欢迎加入QQ群(63503492)讨论技术
- C/C++ MFC Matlab交流之群欢迎有丰富经验者加入QQ群:2908755
- 黑马程序员_QQ群讨论问题分析1
- 数据挖掘交流讨论(32,网站分析WA与互联网数据分析挖据的区别
- 合肥程序员欢迎进QQ群49313181同城程序员职业交流群
- 2013年9月3日上海DCD展会 欢迎您莅临罗森伯格展台交流互动
- R语言和Hadoop系统架构在大数据分析中的应用
- Android开发核心分析系列教程(欢迎大家一起讨论学习)
- 欢迎大象读者加入QQ群75809242讨论,感谢网友“网痞”建立“大象UML民间读者群”!
- 讨论如何采集腾讯QQ群信息
- 欢迎参加51CTO的技术门诊《OSSIM,企业信息安全管理利器》讨论