我想在r中使用rvest循环包含url的数据帧

时间:2016-10-24 17:51:32

标签: r web-scraping rvest

首先,我从网站上抓取一定数量的网址并将其收集到数据框中。但是我想循环遍历我收集到数据帧中的URL。这是我的代码:

library(rvest)library(dplyr)
library(XLConnect)
##########GET URLS###################################################################################
urls <- read_html("http://www.klassiekshop.nl/labels/labels-a-e/brilliant-classics/?limit=all")

urls <- urls %>% 
  html_nodes(".product-name a") %>% 
  html_attr("href") %>%
  as.character()

url <- as.data.frame(urls)
as.character(url$urls)


#########EXTRACT URLS FROM DATAFRAME URLS############################################################
#########CREATE DATAFRAME############################################################################
EAN <- 0
price <- 0

df <- data.frame(EAN, price)

#########GET DATA####################################################################################
pricing_data <- for(i in urls){

site <-read_html(i)
print(i)
  stats <- data.frame(EAN =site %>% html_node("b") %>% html_text() ,
               price =site %>% html_node(".price") %>% html_text() ,
               stringsAsFactors=FALSE)
 data <-rbind(df,stats)
}

调试循环时会在网址上运行。但是它不收集数据。有谁知道如何从网站获取数据?

谢谢!

1 个答案:

答案 0 :(得分:0)

这是因为你rbind dfstats ...但你永远不会改变df ...我想你想改变最后一行你的代码: df <-rbind(df,stats)