【问题标题】:How do you download the last file that was added in a directory on internet?您如何下载添加到 Internet 目录中的最后一个文件?
【发布时间】:2022-07-21 23:12:11
【问题描述】:

我想下载使用 Rstudio 添加到本网站的最后一个存档(气象数据);

https://opendata.dwd.de/climate_environment/CDC/grids_germany/hourly/radolan/recent/asc/

你知道怎么做吗?我可以特别下载一个,但是我必须编写确切的扩展名,并且每次都应该手动更改它,我不希望这样,我希望它自动检测到。

谢谢。

【问题讨论】:

    标签: r


    【解决方案1】:

    函数download_CDC() 为您下载文件。输入号码1将下载网站提供的最新的,并带有各自的名称。

    library(tidyverse)
    library(rvest)
    
    base_url <- "https://opendata.dwd.de/climate_environment/CDC/grids_germany/hourly/radolan/recent/asc/"
    
    files <- base_url  %>%
      read_html() %>%
      html_elements("a+ a") %>%  
      html_attr("href") 
    
    
    download_CDC <- function(item_number) {
      base_url <- "https://opendata.dwd.de/climate_environment/CDC/grids_germany/hourly/radolan/recent/asc/"
      download.file(paste0(base_url, files[item_number]), 
                    destfile = files[item_number],
                    mode = "wb")
      
    }
    
    download_CDC(1)
    

    【讨论】:

      【解决方案2】:

      这有点幼稚(没有错误检查,盲目地从文件列表页面获取最后一个链接),但适用于该特定列表。

      R 中的大部分网络抓取都是通过 rvest 进行的,html_element("a:last-of-type") 通过 CSS 选择器提取最后一个 &lt;a&gt; 类型的元素 - 你的最后一个存档。并且html_attr('href') 从最后一个&lt;a&gt;-元素中提取href 属性——文件的实际链接。

      library(rvest)
      
      last_link <- function(url) {
        last_href <- read_html(url) |> 
                html_element("a:last-of-type") |> 
                html_attr('href')
        paste0(url,last_href)
      }
      
      url <- "https://opendata.dwd.de/climate_environment/CDC/grids_germany/hourly/radolan/recent/asc/"
      last_link(url)
      #> [1] "https://opendata.dwd.de/climate_environment/CDC/grids_germany/hourly/radolan/recent/asc/RW-20220720.tar.gz"
      

      由reprex package (v2.0.1) 于 2022 年 7 月 21 日创建

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-22
        • 1970-01-01
        • 1970-01-01
        • 2012-08-03
        • 1970-01-01
        • 2019-09-08
        • 1970-01-01
        • 2012-03-03
        相关资源
        最近更新 更多