You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量下载DWD网站按年/月目录索引存储的多份气候数据集?

你要下载的DWD德国月均气温格点数据存储地址:https://opendata.dwd.de/climate_environment/CDC/grids_germany/monthly/air_temperature_mean/
目录页结构参考:
DWD数据目录页面截图

以下是Windows 10系统下可直接落地的3种批量下载方案,覆盖全量下载、按年份筛选下载的需求,从无代码到代码方案都有:

方案1:FTP挂载可视化操作(零代码,新手首选)

不需要装任何额外软件,用系统自带功能就能像操作本地文件一样选文件下载:

  • 打开「此电脑」,在空白处右键选择「添加一个网络位置」,连续点2次「下一步」
  • 在「Internet地址或网络地址」输入框填:ftp://opendata.dwd.de/climate_environment/CDC/grids_germany/monthly/air_temperature_mean/,点下一步
  • 勾选「匿名登录」,点下一步,给这个网络位置随便起个名字(比如DWD月气温数据),点完成
  • 打开刚建好的网络位置,就能看到所有数据文件:要下全部文件直接按Ctrl+A全选,复制粘贴到本地文件夹即可;要下特定年份的文件,按住Ctrl点选对应年份命名的文件,再复制粘贴到本地就行,和本地拷文件操作完全一致。
方案2:命令行批量下载(轻量高效,支持规则筛选)

用wget工具可以一条命令完成批量下载,支持按文件名规则筛选指定年份的文件:

  • 搜索下载Windows版本的wget单exe程序,放到C:\Windows\System32路径下,就能全局调用
  • 打开你打算存数据的本地文件夹,按住Shift右键空白处,选择「在此处打开PowerShell窗口」/「在终端中打开」
  • 全量下载所有文件,直接输入以下命令回车即可:
    wget -r -np -nH --cut-dirs=6 -R .html,.gif https://opendata.dwd.de/climate_environment/CDC/grids_germany/monthly/air_temperature_mean/

参数说明:-r递归抓取目录下所有文件,-np不爬取上级目录内容,-nH不自动创建域名同名文件夹,--cut-dirs=6忽略URL前6层目录结构,直接把数据存在当前打开的本地文件夹,-R过滤掉网页索引、图标这类无用文件

  • 如果要筛选指定年份下载,比如只下2000-2020年的文件,替换成以下命令即可,通配符规则可以自己调整:
    wget -r -np -nH --cut-dirs=6 -R .html,.gif -A "*200[0-9]*.gz","*201[0-9]*.gz","*2020*.gz" https://opendata.dwd.de/climate_environment/CDC/grids_germany/monthly/air_temperature_mean/
方案3:RStudio代码下载(适合后续直接用R处理数据的场景)

代码自带断点续传、重复运行不重复下载的逻辑,自定义筛选规则更灵活:

  • 打开RStudio,先运行以下命令安装依赖包:
    install.packages(c("rvest", "curl"))
  • 复制以下代码到脚本区,修改2处配置参数后直接运行即可:
library(rvest)
library(curl)

# ==== 按需修改以下2个参数 ====
# 本地存数据的路径,注意路径里的斜杠用/不要用\
save_dir <- "D:/dwd_climate/temp_monthly/"
# 要下载的年份范围,比如要下1985-2023就写1985:2023,要全量下载就设为NULL
target_years <- 1985:2023
# ==========================

dir.create(save_dir, recursive = TRUE, showWarnings = FALSE)
base_url <- "https://opendata.dwd.de/climate_environment/CDC/grids_germany/monthly/air_temperature_mean/"

# 抓取目录下所有数据文件链接
page_content <- read_html(base_url)
all_files <- page_content |> 
  html_elements("a") |> 
  html_attr("href") |> 
  grep("\\.gz$|\\.asc$", x = _, value = TRUE)

# 按年份筛选文件
if (!is.null(target_years)) {
  match_pattern <- paste0("*", target_years, "*", collapse = "|")
  all_files <- grep(match_pattern, all_files, value = TRUE)
}

# 批量下载,已存在的文件自动跳过
for (file_name in all_files) {
  local_path <- paste0(save_dir, file_name)
  if (!file.exists(local_path)) {
    curl_download(
      url = paste0(base_url, file_name),
      destfile = local_path,
      mode = "wb"
    )
    cat("下载完成:", file_name, "\n")
  }
}

内容的提问来源于stack exchange,提问作者maycca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 14:36:16