news 2026/5/1 9:43:21

使用 Python 查询和下载 Sentinel-1 轨道数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用 Python 查询和下载 Sentinel-1 轨道数据

本文主要介绍通过 Python 从 美国阿拉斯加大学费尔班克斯分校运营的卫星数据分发平台 https://s1qc.asf.alaska.edu/ 下载哨兵1(Sentinel-1)号轨道数据(AUX_POEORB、AUX_RESORB等)产品数据(2025年9月~12月)。整体流程如下:

申请一个 earthdata 账号
配置 Python 依赖
查询数据
下载数据

1 申请一个 earthdata 账号

申请地址: https://urs.earthdata.nasa.gov/
按步操作,不再赘述:

在账户中生成一个 token

2 配置 Python 依赖

Python: 3.12

安装以下库(内置库或关联库已忽略):

requests: 2.32.3
tqdm: 4.67.1
bs4: 4.12.3

3 查询数据

查询地址:https://s1qc.asf.alaska.edu/

注:查询数据不需要账号

importrequests,re,os,tqdmfrombs4importBeautifulSoup url="https://s1qc.asf.alaska.edu/aux_resorb/"query_res=requests.get(url)months=[202509,202510,202511,202512]pattern=rf'{"|".join([str(m)forminmonths])}'soup=BeautifulSoup(query_res.text,'html.parser')POEORBs=[]# 查询结果forlinkinsoup.find_all('a'):text=link.get('href')if'S1A'intextandbool(re.search(pattern,text)):POEORBs.append(f'{url}/{text}')

查询结果示例:

4 下载数据

注:下载数据需要账号

4.1 登录NASA账号,获得 cookie

经检测,直接通过 requests 登录 NASA 账号依然会报 账户错误。这里使用已登录 NASA 的浏览器 cookies。

步骤一:浏览器(Edge为例)打开查询结果中的一个链接。

步骤二:登录跳转到的 NASA 账户

步骤三:返回步骤一的链接(浏览器已能下载或打开文件)

步骤四:进入浏览器开发人员工具,找到cookies

【···】 --> 【更多工具】 --> 【开发人员工具】

【网络】 --> 【全部】 --> 【名称(文件名)】–>【标头】–>【请求标头】–>【Cookie】


复制 cookie

4.2 通过 cookie 批量下载查询结果

session=requests.Session()cookie='''4.1 复制的 cookie'''headers={"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36 Edg/129.0.0.0","cookie":cookie}session.headers.update(headers)out_path=r'D:\下载\aux_resorb'chunk_size=8192fori,linkinenumerate(POEORBs):out_file=f"{out_path}\\{os.path.basename(link)}"ifos.path.exists(out_file):print(f'跳过已存在的下载({i+1}/{len(POEORBs)}):{out_file}')continueresponse=session.get(link,stream=True)ifresponse.status_code==200:## 创建进度条print(f'当前下载({i+1}/{len(POEORBs)}):{out_file}')total_size=int(response.headers.get('content-length',0))# 数据总大小total=int(np.ceil(total_size/chunk_size))# 分块数量withopen(out_file,"wb")asfile:# 分块下载forchunkintqdm.tqdm(response.iter_content(chunk_size=chunk_size),total=total):ifchunk:file.write(chunk)else:print(f"Error:{response.status_code}.{response.text}")

下载过程示例:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:28:48

2025年10大AI论文生成平台推荐,包含LaTeX模板与智能格式校对

工具对比排名 工具名称 核心优势 支持LaTeX 适用场景 aibiye AIGC率降个位数,兼容知网规则 是 AI痕迹强处理 aicheck 学术改写优化,语义保留佳 是 格式统一化 askpaper 降重降AI一体,20分钟快速响应 是 初稿优化 秒篇 人类特…

作者头像 李华
网站建设 2026/4/30 19:55:48

2025年10款AI论文工具推荐,支持LaTeX模板与自动格式校对

工具对比排名工具名称核心优势支持LaTeX适用场景aibiyeAIGC率降个位数,兼容知网规则是AI痕迹强处理aicheck学术改写优化,语义保留佳是格式统一化askpaper降重降AI一体,20分钟快速响应是初稿优化秒篇人类特征表述优化,高校适配是学…

作者头像 李华
网站建设 2026/5/1 5:47:18

STM32F1系列实现I2C HID从机操作指南

用STM32F1打造I2C HID从机:从协议解析到实战落地 你有没有遇到过这样的场景?系统主控的USB接口已经满载,却还要接入一个触摸面板或旋钮编码器;又或者产品对功耗和成本极为敏感,根本不想为一个简单的输入设备配上复杂的…

作者头像 李华
网站建设 2026/5/1 4:59:15

基于java的SpringBoot/SSM+Vue+uniapp的火灾报警系统的详细设计和实现(源码+lw+部署文档+讲解等)

文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言 🌞博主介绍:✌全网粉丝15W,CSDN特邀作者、211毕业、高级全…

作者头像 李华
网站建设 2026/5/1 5:06:36

AD导出Gerber文件在团队协作项目中的版本管理(深度剖析)

一次“导出Gerber”的背后:如何让团队协作不再为PCB文件版本扯皮?你有没有遇到过这样的场景:工厂打回来的板子缺了阻焊层,查了一圈才发现是某位同事导出时漏勾了一项;团队里五个人都叫“最终版_V2”,但没人…

作者头像 李华