使用 Python 查询和下载 Sentinel-1 轨道数据
本文介绍通过 Python 从美国阿拉斯加大学费尔班克斯分校运营的卫星数据分发平台下载哨兵 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/ 注:查询数据不需要账号
import requests
import re
import os
from bs4 import BeautifulSoup
url = "https://s1qc.asf.alaska.edu/aux_resorb/"
query_res = requests.get(url)
months = [202509, 202510, 202511, 202512]
pattern = rf'{"|".join([str(m) for m in months])}'
soup = BeautifulSoup(query_res.text, 'html.parser')
POEORBs = []
for link in soup.find_all('a'):
text = link.get('href')
if 'S1A' in text and bool(re.search(pattern, text)):
POEORBs.append(f'{url}/{text}')
4 下载数据
注:下载数据需要账号
4.1 登录 NASA 账号,获得 cookie
经检测,直接通过 requests 登录 NASA 账号依然会报账户错误。这里使用已登录 NASA 的浏览器 cookies。

