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

如何递归获取NASA数据仓百万级文件的路径/文件名而非实际文件?

获取NASA数据仓库文件列表的最佳方案

wget 实现方式(支持需求)

wget完全可以实现只爬取文件路径/文件名而不下载实际文件,核心使用蜘蛛模式配合递归爬取参数,命令如下:

wget --spider --recursive --no-parent --level=inf --output-file=nasa_file_list.txt https://ladsweb.modaps.eosdis.nasa.gov/archive/allData/61/MYD04_L2/

参数说明:

  • --spider:仅检查链接有效性,不下载文件
  • --recursive:递归遍历所有子目录
  • --no-parent:限制爬取范围,不向上访问父目录
  • --level=inf:无限制递归深度,确保遍历所有层级
  • --output-file:将爬取到的所有链接写入指定文本文件

爬取完成后,可通过过滤命令提取纯文件路径(排除目录链接):

grep -E "https://.*MYD04_L2/.*\.[A-Z0-9]+" nasa_file_list.txt > filtered_file_paths.txt

针对超百万文件的优化建议

由于文件量极大,需添加参数避免触发服务器限制:

  • --wait=1:每次请求间隔1秒,降低请求频率
  • --random-wait:使用随机间隔(0.5-2倍设置的wait时间),模拟自然访问
  • --limit-rate=100k:限制请求速率,减轻服务器压力
  • 若中途中断,可添加--continue参数续爬,避免重复处理已爬链接

更高效的替代工具:lftp

对于超大规模文件列表,lftp的mirror命令输出更整洁,效率更高,仅获取文件列表不下载内容:

lftp -c "open https://ladsweb.modaps.eosdis.nasa.gov/archive/allData/61/MYD04_L2/; mirror --only-newer --no-transfer --verbose --logfile=lftp_file_list.txt"

--no-transfer是核心参数,仅同步目录结构和文件名,不传输文件内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 18:32:11