使用 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/

注:查询数据不需要账号
import requests, re, os, tqdm 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 andbool(re.search(pattern, text)): POEORBs.append(f'{url}/{text}')

查询结果示例:

4 下载数据

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

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


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


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


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

【···】 --> 【更多工具】 --> 【开发人员工具】
【网络】 --> 【全部】 --> 【名称(文件名)】–>【标头】–>【请求标头】–>【Cookie】


复制 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 =8192for i, link inenumerate(POEORBs): out_file =f"{out_path}\\{os.path.basename(link)}"if os.path.exists(out_file):print(f'跳过已存在的下载({i +1}/{len(POEORBs)}):{out_file}')continue response = session.get(link, stream=True)if response.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:# 分块下载for chunk in tqdm.tqdm(response.iter_content(chunk_size = chunk_size), total = total):if chunk:file.write(chunk)else:print(f"Error: {response.status_code}. {response.text}")

下载过程示例:

Read more

【LeetCode面试题17.04】消失的数字

【LeetCode面试题17.04】消失的数字

刷爆LeetCode系列 * LeetCode面试题17.04:消失的数字 * github地址 * 前言 * 题目描述 * 题目与思路分析 * 目标分析 * 思路一:数组哈希 * 思路二:数学求和 * 思路三:位运算(异或) * 代码实现 * 思路一:数组哈希 * 思路二:数学求和 * 思路三:位运算 * 算法代码优化 * 结语 LeetCode面试题17.04:消失的数字 github地址 有梦想的电信狗 前言 本文用C++三种方法实现LeetCode面试题17.04:消失的数字 * 方法一:数组哈希 * 方法二:数学求和再相减 * 方法三:位运算 题目描述 题目链接:https://leetcode.cn/problems/missing-number-lcci/description/ 题目与思路分析

By Ne0inhk
LFU缓存算法全解:从双哈希+双向链表到O(1)艺术,解锁长期热点守护神

LFU缓存算法全解:从双哈希+双向链表到O(1)艺术,解锁长期热点守护神

文章目录 * 本篇摘要 * 一、核心原理 * 二、关键特性与实现机制 * 1. **数据结构设计(高效实现的核心)** * 2. **频率动态更新** * 3.实现思想及代码测试 * 4.为什么LFU用 双哈希表 + 双向链表? * 三、典型优势与劣势 * **优势场景** * **劣势与挑战** * 四、典型问题与优化策略 * 1. **新数据冷启动优化** * 2. **频率衰减(避免历史权重过高)** * 五、适用场景与典型用例 * 六、LFU vs LRU 对比 * 八、一句话总结 * 九、模版源码 * 本篇小结 本篇摘要 一、核心原理 基础规则: 优先淘汰历史访问频率最低的数据(长期统计维度)。 * 每个缓存条目维护两个核心属性:键值对数据 + 访问频率计数器。当缓存容量达到上限时,

By Ne0inhk

基于Python的YOLO目标检测项目实战

本文还有配套的精品资源,点击获取 简介:YOLO(You Only Look Once)是一种高效的实时目标检测系统,广泛应用于计算机视觉领域。本YOLO项目基于深度学习框架TensorFlow与Keras,结合OpenCV、PIL等工具,实现从数据预处理、模型训练到推理部署的完整流程。项目涵盖YOLOv3、YOLOv4等主流版本,支持多尺度检测与高性能推理,适用于图像中多个物体的定位与分类任务。通过Flask/Django构建Web服务接口,并利用matplotlib进行结果可视化,项目具备完整的开发、评估与部署能力,适合深度学习与计算机视觉方向的学习与实践。 YOLO目标检测实战:从环境搭建到上线部署全解析 你有没有遇到过这样的场景?刚拿到一个新项目,满心欢喜地打开代码仓库,却发现 requirements.txt 里一堆不兼容的依赖版本;好不容易跑通训练脚本,结果模型在测试集上 mAP 直接“腰斩”;更别提上线时那句经典的报错:“ libcudart.so.12 not found ”。🤯 这简直不是做AI,是做运维啊! 但今天,我们要把这套流程彻底打通。从

By Ne0inhk
Python 画图全攻略:从基础到进阶,代码+运行结果一次看够

Python 画图全攻略:从基础到进阶,代码+运行结果一次看够

Python 能成为数据可视化的“顶流”,离不开强大的绘图库。本文用 Matplotlib(基础)+ Seaborn(统计)+ Plotly(交互) 三大库,覆盖 8 种常见图表类型,附完整代码和运行结果描述,手把手教你画出专业级图表! 前置准备:安装绘图库 本文用到的库需提前安装(命令行执行): pip install matplotlib seaborn plotly # 安装三个库 一、Matplotlib:最经典的基础绘图 Matplotlib 是 Python 最老牌的绘图库,适合画基础图表(折线、柱状、散点等),代码灵活但略繁琐。 1.1 折线图(趋势分析) 场景:展示数据随时间或连续变量的变化趋势(如销售额月变化、温度曲线)。 import matplotlib.pyplot

By Ne0inhk