利用rvest包爬取薄荷网食物热量数据

library(rvest)

myurl <- "http://www.boohee.com/food/group/"

food_cal <- data.frame()

for(i in 1:10){ #循环采集10种类型的食物热量

        food_class <- read_html(paste0(myurl,i,"?page=1")) %>%

                              html_nodes("div[class='widget-food-list pull-right'] h3") %>%

                              html_text()#获取食物类型数据

       food_class <- sub("\n","",food_class)#将多余符号去掉

       food_class <- rep(food_class, 100) #重复100遍

       food_name <- c()

       cal <- c()

       for(j in 1:10){ #每种类型循环采集10页

                myurlpaste <- paste0(myurl,i,"?page=",j)

                myweb <- read_html(myurlpaste)

                food_name1 <- myweb %>%

                          html_nodes(".food-list li div[class = 'text-box pull-left'] a") %>%

                          html_text() #食物名称

               cal1 <- myweb %>%

                          html_nodes(".food-list li div[class = 'text-box pull-left'] p") %>%

                          html_text() #食物热量

              food_name <- c(food_name, food_name1)

              cal <- c(cal, cal1)

           }

     food_cal1 <- data.frame(food_class, food_name, cal)

     food_cal <- rbind(food_cal, food_cal1)

}

write.csv(food_cal, file = "E:\\薄荷食物热量.csv")

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,841评论 18 139
  • 说明本次redis集群安装在rhel6.8 64位机器上,redis版本为3.2.8,redis的gem文件版本为...
    读或写阅读 15,013评论 3 9
  • 当你深夜徘徊在我楼下,当你半夜敲开我的门,当我满怀惊喜站在你的面前,你轻轻的说“能帮我给她打个电话吗?我想约她出来...
    黑七七阅读 269评论 0 1
  • 雨季总会带给我许多惊慌失措,往往都是没带伞的窘迫。 下雨的城市安静了,雨水冲走了喧嚣。 小小人儿窝在温馨的小家,坐...
    昨夜星辰昨夜梦阅读 110评论 0 0
  • 迎面吹来凉爽的晚风,好像有谁在路边等。回忆在身边荡秋千,时针转回到初四那年,往事历历在目,每天早晚的路,每天的课程...
    目光捕手一九八阅读 378评论 0 0