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

从零开始打造高性能数据结构——手把手教你实现环形缓冲

从零开始打造高性能数据结构——手把手教你实现环形缓冲

◆ 博主名称: 小此方-ZEEKLOG博客 大家好,欢迎来到小此方的博客。 ⭐️个人专栏:《C语言》_小此方的博客-ZEEKLOG博客 算法_小此方的博客-ZEEKLOG博客  ⭐️踏破千山志未空,拨开云雾见晴虹。 人生何必叹萧瑟,心在凌霄第一峰。 目录 一,普通队列的劣势 1. 空间浪费严重(“假溢出”问题) 2. 需要频繁移动元素(若避免浪费) 3. 扩容成本高 4. 无法解决“假溢出”导致的提前扩容 二,环形缓冲结构分析  1. “循环”取模实现指针回绕  2.“循环”,轮流入座而不是排长队 三,实现环形缓冲 1,MyCircularQueue(k): 构造器   1,结构体搭建   2,初始化 3,为什么选择k+1块空间而不是k块空间?

By Ne0inhk
量子力学数学基础入门:从态矢到内积外积(附Python演示)

量子力学数学基础入门:从态矢到内积外积(附Python演示)

📐 形象比喻之后,用数学精确描述量子世界 在上一篇文章中,我们用“拆掉楼梯的大楼”“同时存在于所有楼层的人”等比喻,直观地理解了量子化、叠加、测量等核心概念。但真正要进入量子计算的大门,必须掌握量子力学的数学语言——狄拉克符号和线性代数。 本文作为姊妹篇,将用数学方式重新表述量子力学的基础概念,并辅以Python代码(NumPy)演示,让你亲手计算态矢、内积、外积,感受数学公式背后的物理意义。 一、为什么要用数学描述量子力学? 形象比喻虽然易懂,但无法精确计算。例如: * 叠加态中的“权重”具体是多少? * 测量得到某个结果的概率如何计算? * 两个量子态是相同还是正交? 这些问题的答案都隐藏在数学结构中。量子力学的数学框架是希尔伯特空间中的线性代数,所有物理过程都可以转化为向量和矩阵的运算。一旦掌握这套语言,你就能理解量子门、量子算法,甚至动手模拟量子电路。 二、态矢:量子态的数学化身 1. 右矢(ket) ∣ ψ ⟩ |\psi\rangle ∣ψ⟩ 在量子力学中,

By Ne0inhk
《算法题讲解指南:优选算法-滑动窗口》--13 水果成篮

《算法题讲解指南:优选算法-滑动窗口》--13 水果成篮

🔥小叶-duck:个人主页 ❄️个人专栏:《Data-Structure-Learning》 《C++入门到进阶&自我学习过程记录》《算法题讲解指南》--从优选到贪心 ✨未择之路,不须回头 已择之路,纵是荆棘遍野,亦作花海遨游 目录 13 水果成篮 题目链接: 编辑 题目示例: 解法(滑动窗口): 算法思路: 算法流程: C++代码演示:方法一(使用容器) C++代码演示:方法二(用数组模拟哈希表) 算法总结及流程解析: 结束语 13 水果成篮 题目链接: 题目示例: 解法(滑动窗口): 算法思路:       研究的对象是一段连续的区间,可以使用【滑动窗口】思想来解决问题。       让滑动窗口满足:窗口内水果的种类只有两种。       做法:右端水果进入窗口的时候,

By Ne0inhk
全网最全!Python、PyTorch、CUDA 与显卡版本对应关系速查表

全网最全!Python、PyTorch、CUDA 与显卡版本对应关系速查表

摘要:搞深度学习,最痛苦的不是写代码,而是配环境! “为什么我的 PyTorch 认不出显卡?” “新买的显卡装了旧版 CUDA 为什么报错?” 本文提供一份保姆级的版本对应关系速查表,涵盖从 RTX 50 系列 (Blackwell) 到经典老卡的软硬件兼容信息。建议收藏保存,每次配环境前查一下,能省下大量的排坑时间! 🗺️ 核心逻辑图解 在看表格前,先理清显卡架构的代际关系与 CUDA 版本的强绑定逻辑。 📊 一、PyTorch 版本对照表 (推荐) PyTorch 是目前兼容性最好的框架,只要 CUDA 驱动版本 足高,通常都能向下兼容。对于使用最新硬件(如 RTX 50 系)的用户,请务必使用 2.4 或更高版本。 PyTorch 版本Python 版本推荐 CUDA适用显卡建议2.

By Ne0inhk