首先,我从网站上抓取一定数量的网址并将其收集到数据框中。但是我想循环遍历我收集到数据帧中的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)
}
调试循环时会在网址上运行。但是它不收集数据。有谁知道如何从网站获取数据?
谢谢!
答案 0 :(得分:0)
这是因为你rbind
df
到stats
...但你永远不会改变df
...我想你想改变最后一行你的代码:
df <-rbind(df,stats)