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

使用wget下载指定子文件夹仅得robots.txt和index.html,如何获取目标.nc文件

问题分析与解决方案

你的命令存在几个关键错误,导致无法正确抓取目标.nc文件:

  1. -A参数用法错误:-A仅用于匹配文件名,不能用来匹配路径。你之前写的-A "*/*/*/netcdf/*"试图用路径规则过滤,wget无法识别,自然不会下载任何nc文件,仅返回目录索引和robots.txt。
  2. robots规则未正确关闭:robots=off的正确写法是-e robots=off,缺少-e参数时,wget会遵守服务器的robots.txt限制,被禁止爬取深层目录。
  3. 目录匹配规则不准确:你更新后的--include-directories="*/*/netcdf"匹配层级错误,实际目录结构是年份/月份/卫星/netcdf,该规则只能匹配两层目录下的netcdf,漏掉了卫星层级。

正确的wget命令

wget -r -np -nH -x -e robots=off --include-directories="*/netcdf" --exclude-directories="*/csv" -A "*.nc" https://satdat.ngdc.noaa.gov/sem/goes/data/full/

参数说明

  • -r:递归爬取目录
  • -np:不爬取父目录,避免跳出/sem/goes/data/full/范围
  • -nH -x:保留服务器原有的目录结构,不生成以域名命名的顶层目录
  • -e robots=off:强制忽略robots.txt限制,这是突破服务器爬取限制的关键
  • --include-directories="*/netcdf":匹配所有层级下的netcdf目录,确保只进入目标目录
  • --exclude-directories="*/csv":排除所有csv目录,避免下载无关内容
  • -A "*.nc":仅下载后缀为.nc的文件,过滤其他无关文件

可选优化

如果担心被服务器限流,可添加请求间隔或断点续传参数:

wget -r -np -nH -x -c --wait=1 -e robots=off --include-directories="*/netcdf" --exclude-directories="*/csv" -A "*.nc" https://satdat.ngdc.noaa.gov/sem/goes/data/full/
  • -c:断点续传,中断后可继续未完成的下载
  • --wait=1:每次请求间隔1秒,降低被服务器封禁的风险

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 01:01:22