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

如何在R语言中获取HTTP文件夹文件列表并下载

解决方案

要从目标网站提取可下载文件并批量完成下载,你可以用rvest包解析HTML页面来提取有效链接,再执行下载操作,具体步骤如下:

步骤1:安装并加载所需包

# 首次运行需安装包
install.packages(c("rvest", "dplyr"))

# 加载包
library(rvest)
library(dplyr)

步骤2:解析页面提取文件链接

# 目标网站基础URL
base_url <- "https://data.mesonet.unl.edu/data/alda_5nw/"

# 获取页面内容并解析HTML
page <- read_html(base_url)

# 提取所有文件链接并处理
file_links <- page %>% 
  html_elements("a") %>% 
  html_attr("href") %>% 
  # 过滤掉目录跳转链接(如../)
  filter(!grepl("^\\./|^\\.\\./$", .)) %>% 
  # 拼接成完整的文件下载URL
  paste0(base_url, .)

步骤3:批量下载文件

通过循环遍历链接列表,完成文件批量下载:

# 创建本地存储目录(不存在则新建)
dir.create("mesonet_downloads", showWarnings = FALSE)

# 循环下载每个文件
for (link in file_links) {
  # 提取文件名
  file_name <- basename(link)
  # 执行下载,mode="wb"适配二进制文件
  download.file(link, destfile = file.path("mesonet_downloads", file_name), mode = "wb")
  # 打印下载进度(可选)
  cat("已完成下载:", file_name, "\n")
}

关键说明

  • read_html会自动处理HTML结构解析,比单纯用RCurl获取原始内容更高效;
  • 过滤步骤确保只保留实际可下载的文件链接,排除目录跳转项;
  • mode="wb"参数保证压缩包、二进制数据文件等非文本类文件能正确保存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 11:27:05