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

如何使用wget下载NOAA NCEI页面中的所有.gz文件?

批量下载NOAA NCEI水深数据.gz文件的命令行解决方案

问题描述

从NOAA NCEI下载公开水深数据时,官方「请求文件」工具耗时超1周且易无提示失败,需通过wget/curl批量下载目标页面中的所有.gz文件。示例页面包含可直接访问的.gz文件链接,但使用以下wget命令时出现两类错误:

wget --execute="robots = off" -A.gz --mirror --convert-links --no-parent [目标页面URL]

错误信息:

  • Unable to establish SSL connection.(无法建立SSL连接)
  • HTTP request sent, awaiting response... 301 Moved Permanently(HTTP请求已发送,等待响应... 301永久重定向)

错误原因

  1. SSL兼容性问题:部分资源链接使用HTTP协议,wget默认的SSL验证逻辑与服务器配置冲突,导致连接失败。
  2. 重定向处理异常:--mirror参数会强制镜像站点结构,触发不必要的域名重定向,而原始页面链接可能包含相对路径或旧域名,引发301错误。

解决方案

方法1:提取链接后批量下载(推荐)

先从页面中提取所有.gz文件的完整链接,再批量下载:

# 步骤1:抓取页面并提取所有.gz文件的完整链接
curl -L [目标页面URL] | grep -o 'http[s]\?://data\.ngdc\.noaa\.gov[^"]*\.gz' > gz_files.txt

# 步骤2:批量下载所有文件
wget --input-file=gz_files.txt --no-check-certificate

参数说明:

  • curl -L:自动跟随页面重定向,确保获取最新页面内容
  • grep -o:精准匹配并提取符合格式的.gz文件完整URL
  • --no-check-certificate:跳过SSL证书验证,解决连接失败问题

方法2:优化wget参数直接爬取

调整wget参数,适配NCEI服务器的重定向和SSL配置:

wget --execute="robots=off" -A.gz --no-parent --recursive --level=1 --no-check-certificate --content-disposition [目标页面URL]

参数说明:

  • --recursive --level=1:仅递归爬取当前页面的链接,避免深入无关目录
  • --content-disposition:正确解析服务器返回的文件名,避免下载后文件名异常
  • 移除--mirror和--convert-links:这两个参数会强制镜像站点,容易触发重定向错误

curl替代方案

若偏好使用curl,可执行以下命令:

curl -L [目标页面URL] | grep -o 'http[s]\?://data\.ngdc\.noaa\.gov[^"]*\.gz' | xargs -n 1 curl -O --insecure

参数说明:

  • xargs -n 1:逐个处理每个提取到的链接
  • -O:保留远程文件的原始文件名
  • --insecure:跳过SSL证书验证

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 14:36:24