本文http://www.ajnr.org/content/30/7/1402.full包含指向html-tables的四个链接,我想用rvest进行抓取。
借助CSS选择器:
"#T1 a"
可以像这样到达第一个表:
library("rvest")
html_session("http://www.ajnr.org/content/30/7/1402.full") %>%
follow_link(css="#T1 a") %>%
html_table() %>%
View()
CSS选择器:
".table-inline li:nth-child(1) a"
使选择包含链接到四个表的标签的所有四个html节点成为可能:
library("rvest")
html("http://www.ajnr.org/content/30/7/1402.full") %>%
html_nodes(css=".table-inline li:nth-child(1) a")
如何遍历此列表并一次性检索所有四个表?最好的方法是什么?
最佳答案
这是一种方法:
library(rvest)
url <- "http://www.ajnr.org/content/30/7/1402.full"
page <- read_html(url)
# First find all the urls
table_urls <- page %>%
html_nodes(".table-inline li:nth-child(1) a") %>%
html_attr("href") %>%
xml2::url_absolute(url)
# Then loop over the urls, downloading & extracting the table
lapply(table_urls, . %>% read_html() %>% html_table())