Earthdata Downloader 是一个强大且易于使用的 Python 脚本,用于从 NASA Earthdata 自动化下载海量数据。无论您是科学研究人员、数据分析师还是地理信息系统(GIS)爱好者,这个工具都能极大地简化您的数据获取流程。
- 自动认证与重定向处理:智能处理登录后的网页跳转,确保稳定下载。
- 断点续传与重试机制:在网络不稳定或下载失败时自动重试,确保数据完整性。
- 高效的进度显示:集成
tqdm
进度条,实时展示下载进度。 - 灵活的命令行接口:通过
argparse
提供丰富的命令行选项,满足多样化需求。 - 详细的日志记录:记录下载过程中的所有重要信息,便于排查问题。
- Pythonic 代码结构:遵循最佳实践,代码清晰易读,易于维护和扩展。
确保您的系统已安装 Python 3.10 及以上版本。
-
克隆仓库
git clone https://github.com/yourusername/earthdata-downloader.git cd earthdata-downloader
-
创建虚拟环境(可选但推荐)
conda create --name downloader_env python==3.12.0 conda activate downloader_env
-
安装依赖
运行脚本并提供必要的参数:
python downloader.py --save-dir <保存目录> \
--username <你的用户名> \
--password <你的密码> \
--txt-dir <下载链接文件路径>
--save-dir
:指定下载文件的保存目录。--username
:您的 Earthdata 用户名。--password
:您的 Earthdata 密码。--txt-dir
:包含下载链接的文本文件路径。文件中每行一个 URL。
https://example.com/data/file1.nc
https://example.com/data/file2.nc
https://example.com/data/file3.nc
运行以下命令开始下载:
python downloader.py --save-dir ./downloads \
--username myEarthdataUser \
--password mySecurePassword \
--txt-dir ./urls.txt
本项目依赖以下 Python 库:
您可以通过以下命令安装所有依赖:
pip install -r requirements.txt
欢迎贡献!请遵循以下步骤: 1. Fork 本仓库 2. 创建特性分支
git checkout -b feature/YourFeature
3. 提交更改
git commit -m "Add some feature"
4. 推送到分支
git push origin feature/YourFeature
5. 创建 Pull Request
确保您的代码遵循 PEP 8 规范,并包含适当的测试和文档。
此项目采用 MIT 许可证。
如果您有任何问题或建议,欢迎通过以下方式联系我:
- 邮箱: chensy57@mail2.sysu.edu.cn
- GitHub: SiyuChen540