使用python3批量下载rbsp数据的示例代码

使用python3批量下载rbsp数据的示例代码

这篇文章主要介绍了使用python3批量下载rbsp数据的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1. 原始网站
https://www.rbsp-ect.lanl.gov/data_pub/rbspa/

2. 算法说明
进入需要下载的数据所在的目录,获取并解析该目录下的信息,解析出cdf文件名后,将cdf文件下载到内存中,随后保存到硬盘中。程序使用python3实现。

3. 程序代码

#!/bin/python3
# get the rbsp data
# writen by Liangjin Song on 20191219
import sys
import requests
from pathlib import Path

# the url containing the cdf files
url="https://www.rbsp-ect.lanl.gov/data_pub/rbspa/ECT/level2/2016/"
# local path to save the cdf file
path="/home/liangjin/Downloads/test/"

def main():
  re=requests.get(url)
  html=re.text
  cdfs=resolve_cdf(html)

  ncdf=len(cdfs)
  if ncdf == 0:
    return

  print(str(ncdf) + " cdf files are detected.")

  i=1
  # download 
  for f in cdfs:
    rcdf=url+f
    lcdf=path+f
    print(str(i)+ "  Downloading " + rcdf)
    download_cdf(rcdf,lcdf)
    i+=1
  return

# resolve the file name of cdf
def resolve_cdf(html):
  cdfs=list()
  head=html.find("href=")
  
  if head == -1:
    print("The cdf files not found!")
    return cdfs

  leng=len(html)

  while head != -1:
    tail=html.find(">",head,leng)
    # Extract the cdf file name
    cdf=html[head+6:tail-1]
    head=html.find("href=",tail,leng)
    if cdf.find('cdf') == -1:
      continue
    cdfs.append(cdf)
  return cdfs

def download_cdf(rcdf,lcdf):
  rfile=requests.get(rcdf)
  with open(lcdf,"wb") as f:
    f.write(rfile.content)
  f.close()
  return

if __name__ == "__main__":
  lpath=Path(path)
  if not lpath.is_dir():
    print("Path not found: " + path)
    sys.exit(0)
  sys.exit(main())

4. 使用说明

url为远程cdf文件所在路径。
path为本地保存cdf文件的路径。
url和path的末尾都有“/”(Linux下情形,若是Windows,路径分隔符为“\”,则path末尾应为“\”)。

5. 运行效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持昆居客【www.kunjuke.com】。

相关推荐:

让你的代码永存于世,微软 GitHub 推出代码仓库刻录 CD-ROM 实体光盘服务

感谢网友 Skyraver 的线索投递! 7 月 3 日消息,微软旗下的代码托管平台 GitHub 今天宣布推出代码仓库刻录 CD-ROM 实体光盘服务。值得注意的是,GitHub 官方还用一番玩味十足的语气宣发这项服务:我们听到了大家的声音,并表示认同。鉴于近期实体媒介的发展,GitHub 欣然宣布:你现在可以将自己的公开仓库刻录成 CD-ROM 实体光盘。你可以把你的代码收藏起来、借给朋友,或...

小米米家 iOS 版 App 获 11.6.200 更新:新增能源模块、优化设备批量配网等功能

感谢网友 太二真人 的线索投递! 6 月 29 日消息,小米米家 iOS 版 App 今天更新 11.6.200 版本,主要是为场景页面新增了能源模块,以及新增设备批量配网等功能,提升实用性。附本次更新详情如下:新增:场景页面新增能源模块,可查看家中部分智能设备用电情况优化:家庭自动切换功能,根据手机定位展示家庭,可在家庭管理中开启设备批量配网功能,发现多个 BLE Mesh 设备时,可以批量选择...

AI 批量造富,奢侈品行业迎来全新消费主力

7 月 1 日消息,人工智能正在批量催生千万富翁,一波消费热潮随之而来。海量资本涌入人工智能初创企业与配套基础设施,企业估值一路暴涨。创始人手中账面股权化作真金白银,头部 AI 企业员工持有的股权激励也价值数百万美元。如今,人工智能催生的财富不再只停留在纸面上。初创公司创始人抛售价值数十亿美元的股权;早期员工套现短短几年内翻数倍的股份;顶尖 AI 研究员与工程师拿到的薪酬包,放在十年前的科技行业根...

我的世界雷雨指令代码怎么用

我的世界雷雨指令代码使用方法:1.首先在游戏中按下t键,进入聊天界面;2.然后输入/weather thunder指令;3.出现更换到雷雨天气时代表成功。 详细答案: 1.首先在游戏中按下t键,进入聊天界面。 2.然后输入/weather thunder指令。 3.出现更换到雷雨天气时代表成功。 本文内容来源于互联网,如有侵权请联系删除。

天工AI写个人简介提示词怎么加示例,结果更稳定

加示例显著提升天工AI生成个人简介质量——它能对齐语言节奏、信息密度和人设颗粒度;不加则套用空洞模板。因天工AI无记忆,需用真实自写段落或正反对比样例明确风格坐标,再嵌入角色、背景与硬约束。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 天工AI生成个人简介时加不加示例,输出质量差异非常明显——没示例时它常套用空洞的“本人性格开朗、责任心强...

海螺AI怎么用来批量生成不同风格的商品描述?

若需为大量商品快速生成风格多样、语感适配且避免同质化的描述,可借助海螺AI通过五种路径实现:一、风格矩阵指令并行输出;二、变量占位符构建可扩展模板;三、调用内置平台专用风格引擎;四、结合用户评论情感倾向反向生成;五、通过角色设定驱动风格迁移。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 如果您需要为大量商品快速生成风格多样、语感适配且避免...

vivo浏览器怎么提取网页中的高清背景素材与各种大图_vivo浏览器图片长按批量保存插件功能

vivo浏览器无法保存网页背景图时,可依次尝试:一、开启桌面模式暴露图片;二、审查元素提取CSS背景图链接;三、安装图片采集插件批量下载;四、用超级拖放截取高分率图层;五、启用资源嗅探器捕获异步大图。 如果您在vivo浏览器中浏览设计类、壁纸类或视觉展示类网页时,发现页面背景图、Banner大图或轮播主图无法通过常规长按保存,且单张操作效率低下,则可能是由于图片被CSS背景属性调用、以Base64...

米侠浏览器如何批量导出已保存的网页链接?

可导出为标准HTML书签文件:先确认米侠浏览器“存网页”文件位于/Download/MiXiaWebArchive/,再用Solid Explorer等工具从.mhtml提取标题与URL生成TSV,最后按NETSCAPE格式拼装为bookmarks.html并验证跳转。 你需要把米侠浏览器里已用“存网页”功能保存下来的全部链接,一次性导出为可读、可管理的HTML书签文件,而不是手动翻找每个MHTM...