从网站文件夹下载多个 JSON 个文件
Downloading multiple JSON files from a website folder
我正在尝试从 link 下载所有包含单词 'tree' 的文件。
我知道如何单独下载它们,但我不知道如何根据那个条件一次下载它们(有字'tree')。
这可能会很慢(见注释):
library(dplyr)
library(rvest)
my_table<-read_html("https://www1.ncdc.noaa.gov/pub/data/metadata/published/paleo/json/")
my_table %>%
html_nodes(css="table") %>%
html_table() -> res
json_names<-res[[1]][,2]
json_names %>%
as_tibble() %>%
slice(3:nrow(.)) %>%
filter(grepl("tree",value)) %>%
pull(value) %>%
lapply(.,function(x) paste0("https://www1.ncdc.noaa.gov/pub/data/metadata/published/paleo/json/",
x)) %>%
unlist() -> url_list
示例结果:
lapply(url_list[1:2],jsonlite::fromJSON)
[[1]]
[[1]]$xmlId
[1] "4355"
[[1]]$NOAAStudyId
[1] "2657"
[[1]]$studyName
[1] "Adams - Fernow Experimental Forest - QUPR - ITRDB WV003"
[[1]]$doi
[1] "https://doi.org/10.25921/jzj2-vy39"
注意:
在 *nix 机器上,我会使用 wget
。
我正在尝试从 link 下载所有包含单词 'tree' 的文件。
我知道如何单独下载它们,但我不知道如何根据那个条件一次下载它们(有字'tree')。
这可能会很慢(见注释):
library(dplyr)
library(rvest)
my_table<-read_html("https://www1.ncdc.noaa.gov/pub/data/metadata/published/paleo/json/")
my_table %>%
html_nodes(css="table") %>%
html_table() -> res
json_names<-res[[1]][,2]
json_names %>%
as_tibble() %>%
slice(3:nrow(.)) %>%
filter(grepl("tree",value)) %>%
pull(value) %>%
lapply(.,function(x) paste0("https://www1.ncdc.noaa.gov/pub/data/metadata/published/paleo/json/",
x)) %>%
unlist() -> url_list
示例结果:
lapply(url_list[1:2],jsonlite::fromJSON)
[[1]]
[[1]]$xmlId
[1] "4355"
[[1]]$NOAAStudyId
[1] "2657"
[[1]]$studyName
[1] "Adams - Fernow Experimental Forest - QUPR - ITRDB WV003"
[[1]]$doi
[1] "https://doi.org/10.25921/jzj2-vy39"
注意:
在 *nix 机器上,我会使用 wget
。