r在网页中抓取(带循环)
问题描述:
我需要从this link中抓取数据并将表格保存为csv。我现在拥有的一切:我 废能利用rvest第一页,第二页,并使用此代码保存这些表:r在网页中抓取(带循环)
library(rvest)
webpage <- read_html("https://bra.areacodebase.com/number_type/M?page=0")
data <- webpage %>%
html_nodes("table") %>%
.[[1]] %>%
html_table()
url<- "https://bra.areacodebase.com/number_type/M?page=0"
webpage2<- html_session(url) %>% follow_link(css = ".pager-next a")
data2 <- webpage %>%
html_nodes("table") %>%
.[[1]] %>%
html_table()
data_all <- rbind(data, data2)
write.table(data_all, "df_data.csv", sep = ";", na = "", quote = FALSE, row.names = FALSE)
#result<- lapply(webpage, %>% follow_link(css = ".pager-next a"))
#data_all <- rbind(data:data2)
但是,我想不出如何运行循环。
答
您可以进入到下一个环节与follow_link
或通过网址直接获取页:
webpage <- "https://bra.areacodebase.com/number_type/M?page=0"
for(i in 2:5089) {
data <- read_html(webpage) %>%
html_nodes("table") %>%
.[[1]] %>%
html_table()
webpage <- html_session(webpage) %>% follow_link(css = ".pager-next a") %>% .[["url"]]
}
或者直接网址:
for(i in 0:5089) {
webpage <- read_html(paste0("https://bra.areacodebase.com/number_type/M?page=", i))
data <- webpage %>%
html_nodes("table") %>%
.[[1]] %>%
html_table()
}
+0
如果我使用第一个示例,我收到错误“错误:is.character(url)不是真。”我如何解决这个问题?谢谢。 –
+0
@VitalijRamich我的问题,我已经修复了代码。 – m0nhawk
你是什么意思“循环”? – Ahmedov
刮到所有页面,直到页面5090。现在我可以将页面切换为页面。 –