Создайте список доступных файлов с помощью rvest и purrr - PullRequest
0 голосов
/ 05 февраля 2019

Вкл. https://scihub.copernicus.eu/catalogueview/ ESA предоставляет доступ к файлам с данными сбора для ряда спутников.

Эти файлы организованы по спутнику-> год-> месяц.Я хотел бы загрузить и обработать эти файлы через R для дальнейшего анализа.

Я хотел бы пройтись по структуре "directory", используя rvest / purrr для сбора списка имен и полных путей к файлам csv.

Мне удается получить первый уровень (поэтому(список лет на спутник)

library(rvest)
library(purrr)

baseURL<-"https://scihub.copernicus.eu/catalogueview/"

read_years<-function(baseURL, satellite){

  URL <<- paste0(baseURL,satellite)
  page <- read_html(URL)
  page %>% html_nodes("a") %>% html_attr('href') %>% 
   map(~ discard(.x, ~ stringi::stri_length(.x)!=5))%>%compact(.)

}



#read_years(baseURL,satellite)

# provide list of satellites 
sat_list<-list("S1A","S1B", "S2A","S2B")

# retrieve list of years per satellite
year_list<-map(sat_list, ~read_years(baseURL,(.)))

Наивным способом было бы создать все возможные комбинации и применить оператор карты, аналогичный предыдущему, для сбора существующих комбинаций.В целях изучения и понимания я предпочитаю путешествовать по структуре каталогов / pages.

Есть ли способ использовать rvest / purrr для отображения списка списков, являющегося результатом другой карты?

Итак, в конце я бы хотел список, подобный каждому интересующему спутнику со всеми доступными файлами.

"https://scihub.copernicus.eu/catalogueview/S2A/2016/01/S2A_20160126_OPENHUB_catalogue_20190131235959.csv"" https://scihub.copernicus.eu/catalogueview/S2A/2016/01/S2A_20160128_OPENHUB_catalogue_20190131235959.csv" "https://scihub.copernicus.eu/catalogueview/S2A/2016/01/S2A_20160129_OPENHUB_catalogue_20190131235959.csv" "https://scihub.copernicus.eu/catalogueview/S2A/2016/01/S2A_20160130_OPENHUB_catalogue_20190131235959.csv"" https://scihub.copernicus.eu/catalogueview/S2A/2016/01/S2A_20160131_OPENHUB_catalogue_20190131235959.csv" "https://scihub.copernicus.eu/catalogueview/S2A/2016/02/S2A_20160201_OPENHUB_catalogue_20190131235959.csv" и т. Д.

...