2026/1/1 12:03:23
网站建设
项目流程
江宁区建设工程局网站进不去,网站的支付系统怎么做的,08 iis创建网站,在线装修网本文主要介绍通过 Python 从 美国阿拉斯加大学费尔班克斯分校运营的卫星数据分发平台 https://s1qc.asf.alaska.edu/ 下载哨兵1#xff08;Sentinel-1#xff09;号轨道数据#xff08;AUX_POEORB、AUX_RESORB等#xff09;产品数据#xff08;2025年9月~12月#xff09;…本文主要介绍通过 Python 从 美国阿拉斯加大学费尔班克斯分校运营的卫星数据分发平台 https://s1qc.asf.alaska.edu/ 下载哨兵1Sentinel-1号轨道数据AUX_POEORB、AUX_RESORB等产品数据2025年9月~12月。整体流程如下申请一个 earthdata 账号配置 Python 依赖查询数据下载数据1 申请一个 earthdata 账号申请地址 https://urs.earthdata.nasa.gov/按步操作不再赘述在账户中生成一个 token2 配置 Python 依赖Python: 3.12安装以下库内置库或关联库已忽略requests: 2.32.3tqdm: 4.67.1bs4: 4.12.33 查询数据查询地址https://s1qc.asf.alaska.edu/注查询数据不需要账号importrequests,re,os,tqdmfrombs4importBeautifulSoup urlhttps://s1qc.asf.alaska.edu/aux_resorb/query_resrequests.get(url)months[202509,202510,202511,202512]patternrf{|.join([str(m)forminmonths])}soupBeautifulSoup(query_res.text,html.parser)POEORBs[]# 查询结果forlinkinsoup.find_all(a):textlink.get(href)ifS1Aintextandbool(re.search(pattern,text)):POEORBs.append(f{url}/{text})查询结果示例4 下载数据注下载数据需要账号4.1 登录NASA账号获得 cookie经检测直接通过 requests 登录 NASA 账号依然会报 账户错误。这里使用已登录 NASA 的浏览器 cookies。步骤一浏览器Edge为例打开查询结果中的一个链接。步骤二登录跳转到的 NASA 账户步骤三返回步骤一的链接浏览器已能下载或打开文件步骤四进入浏览器开发人员工具找到cookies【···】 -- 【更多工具】 -- 【开发人员工具】【网络】 -- 【全部】 -- 【名称文件名】–【标头】–【请求标头】–【Cookie】复制 cookie4.2 通过 cookie 批量下载查询结果sessionrequests.Session()cookie4.1 复制的 cookieheaders{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_pathrD:\下载\aux_resorbchunk_size8192fori,linkinenumerate(POEORBs):out_filef{out_path}\\{os.path.basename(link)}ifos.path.exists(out_file):print(f跳过已存在的下载{i1}/{len(POEORBs)}{out_file})continueresponsesession.get(link,streamTrue)ifresponse.status_code200:## 创建进度条print(f当前下载{i1}/{len(POEORBs)}{out_file})total_sizeint(response.headers.get(content-length,0))# 数据总大小totalint(np.ceil(total_size/chunk_size))# 分块数量withopen(out_file,wb)asfile:# 分块下载forchunkintqdm.tqdm(response.iter_content(chunk_sizechunk_size),totaltotal):ifchunk:file.write(chunk)else:print(fError:{response.status_code}.{response.text})下载过程示例