您的位置:首页 > 大数据

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 欢迎讨论交流
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息