当前位置: 首页 > news >正文

批量下载叶绿素a的方法

直达下载链接:OPeNDAP Hyrax: Contents of /MODISA/

图1

以上(图1)下载的为例子

点击后出现图2↓

图2

1.选择下载文件形式

2.①点get data是手动下载

②复制下载链接后修改日期可以直接批量下载,python代码如下

ps:可以让AI批量修改url部分,一般要修改的只有画框的部分(见图3)

图2

import os import requests # ===================== 1. 保存路径 ===================== save_dir = r"D:\叶绿素-原始数据\modis\MODISA-CHLA\daily" if not os.path.exists(save_dir): os.makedirs(save_dir) # ===================== 2. 下载链接 ===================== urls = [ "http://oceandata.sci.gsfc.nasa.gov/opendap/MODISA/L3SMI/2017/0203/AQUA_MODIS.20170203.L3m.DAY.CHL.chlor_a.4km.nc.dap.nc4", "http://oceandata.sci.gsfc.nasa.gov/opendap/MODISA/L3SMI/2017/0502/AQUA_MODIS.20170502.L3m.DAY.CHL.chlor_a.4km.nc.dap.nc4", "http://oceandata.sci.gsfc.nasa.gov/opendap/MODISA/L3SMI/2017/0504/AQUA_MODIS.20170504.L3m.DAY.CHL.chlor_a.4km.nc.dap.nc4", ] # ===================== 3. 批量下载 ===================== for i, url in enumerate(urls, start=1): filename = url.split("/")[-1] save_path = os.path.join(save_dir, filename) if os.path.exists(save_path): print(f"[{i}/{len(urls)}] 已存在,跳过:{filename}") continue print(f"[{i}/{len(urls)}] 正在下载:{filename}") try: response = requests.get(url, stream=True, timeout=60) response.raise_for_status() with open(save_path, "wb") as f: for chunk in response.iter_content(chunk_size=1024 * 1024): if chunk: f.write(chunk) print(f" 下载完成:{save_path}") except Exception as e: print(f" 下载失败:{filename}") print(f" 原因:{e}") print("全部下载任务结束。")
可能以上的问题
1.怎么下载requests
在终端用pip下载:pip install requests
2.有没有更方便的代码直接批量下载xxxx年x月x日-xxxx年x月x日的数据
import os import requests from datetime import datetime, timedelta # ===================== 1. 保存路径 ===================== save_dir = r"D:\叶绿素-原始数据\modis\MODISA-CHLA\重新下载2019-2025" if not os.path.exists(save_dir): os.makedirs(save_dir) # ===================== 2. 下载时间范围 ===================== start_date = datetime(2019, 1, 1) end_date = datetime(2025, 3, 1) # 是否覆盖已有文件 # 如果你是为了恢复被覆盖/异常的数据,建议设为 True overwrite = True # ===================== 3. 自动拼接下载链接 ===================== urls = [] current_date = start_date while current_date <= end_date: yyyy = current_date.strftime("%Y") # 例如 2022 mmdd = current_date.strftime("%m%d") # 例如 0402 yyyymmdd = current_date.strftime("%Y%m%d") # 例如 20220402 url = ( f"http://oceandata.sci.gsfc.nasa.gov/opendap/MODISA/L3SMI/" f"{yyyy}/{mmdd}/" f"AQUA_MODIS.{yyyymmdd}.L3m.DAY.CHL.chlor_a.4km.nc.dap.nc4" ) urls.append(url) current_date += timedelta(days=1) print(f"共生成下载链接数:{len(urls)}") # ===================== 4. 批量下载 ===================== for i, url in enumerate(urls, start=1): filename = url.split("/")[-1] save_path = os.path.join(save_dir, filename) if os.path.exists(save_path): if overwrite: os.remove(save_path) print(f"[{i}/{len(urls)}] 已删除旧文件,重新下载:{filename}") else: print(f"[{i}/{len(urls)}] 已存在,跳过:{filename}") continue print(f"[{i}/{len(urls)}] 正在下载:{filename}") try: response = requests.get(url, stream=True, timeout=120) response.raise_for_status() with open(save_path, "wb") as f: for chunk in response.iter_content(chunk_size=1024 * 1024): if chunk: f.write(chunk) print(f" 下载完成:{save_path}") except Exception as e: print(f" 下载失败:{filename}") print(f" URL:{url}") print(f" 原因:{e}") print("全部下载任务结束。")
http://www.jsqmd.com/news/737664/

相关文章:

  • OpenCore Legacy Patcher完整指南:让2008-2017款旧Mac免费升级最新macOS的终极方案
  • 戴尔G15终极散热控制:如何解锁笔记本性能的完整指南?
  • 别再纠结了!FPGA项目选PMOD、FMC还是SYZYGY?一张图帮你搞定接口选型
  • 大模型安全干预:机制与向量操控实践
  • 3步突破网盘下载限速:LinkSwift八大平台高速下载实战秘籍
  • 企业与政府即时通讯工具选型,看这三个维度就够了 - 小天互连即时通讯
  • Wireshark 3.x实战:手把手教你用密钥日志文件解密恶意软件的HTTPS流量(附Dridex样本分析)
  • 视觉语言模型中的几何先验与4D动态推理技术
  • 设计师的“魔法棒“:用ZXPInstaller一键解锁Adobe扩展新世界
  • 别再只跑TwoSampleMR了!用本地VCF文件做LDSC遗传相关性分析,效率提升10倍(附完整R代码)
  • ESP固件烧录神器:5分钟掌握esptool完整使用指南
  • 深度解析抖音无水印下载技术:架构设计与最佳实践
  • Linux驱动调试利器:不写代码,用sysfs直接玩转GPIO(以IMX6ULL为例)
  • 【2024最严苛Tidyverse审计报告】:92.7%的自动化报表项目在v2.0下存在静默数据污染风险
  • TranslucentTB:为Windows任务栏注入灵魂的魔法师
  • VMware Workstation Pro 17免费激活指南:3种高效解决方案
  • 从Pangu到PolarDB:阿里云XRDMA通信库如何支撑起核心存储系统的超低延迟网络
  • 3分钟视频转PPT:高效自动化内容提取方案
  • Three.js地图点击交互避坑指南:如何用Raycaster精准选中GeoJSON生成的3D省份模型
  • 在自动化Agent工作流中集成Taotoken多模型能力
  • 核心组件大换血:Backbone与Neck魔改篇:YOLO26魔改Neck:引入BiFPN(双向特征金字塔),多尺度融合能力飙升
  • MicroClaw:轻量级AI Agent编排框架的设计、部署与实战指南
  • AI-Shoujo HF Patch终极指南:一站式游戏增强解决方案深度解析
  • 从拦截到修改:手把手教你用Burp Suite Proxy抓包分析HTTP请求(Firefox/Edge配置详解)
  • ViGEmBus虚拟设备驱动核心实现方案解析
  • 【量子-经典混合计算终极适配方案】:Docker 27原生支持OpenQASM 3.1与CUDA-Q容器协同调度
  • 自建搜索代理架构全解析:从设计到部署的工程实践
  • Dell G15终极散热控制指南:开源温度管理软件TCC-G15完整教程
  • 2026年AI搜索GEO优化服务商选型分析:综合实力靠前的3家机构解读 - 商业小白条
  • SAP 的成本核算(Controlling, CO)并非一个孤立的计算功能