接上文,由于NASA官方弃用了FTP改用HTTPS服务,所以关于MODIS数据的下载方式有所改变。完整系列博客可以参照以下链接。本篇主要接着上一篇没有讲完的应用密钥的脚本下载介绍。

1 官方教程与说明

接着上文的部分往下,上一篇博客已经讲了一小部分应用密钥。本篇主要针对以下部分介绍(红框部分)。

1 应用密钥

1 申请一个应用密钥

任何注册了Earthdata账户(注册链接)的人都可以申请应用密钥。通过以下步骤就可以申请一个应用密钥。

1.首先转到对应的页面:LAADS DAAC,登陆Earthdata。

2.接着点击Profile→App Keys(见截图)。

3.通过输入你对keys的描述并且点击 "Create New App Key"按钮创建一个新的应用密钥。

当然如果以前你就有应用密钥,但是你忘记了,那就按照如下的步骤操作:

1.登陆Earthdata(同上)。

2.接着点击Profile→App Keys(同上)。

3.复制你的密钥。

总的来说这个操作跟国内百度地图、高德地图API也没太大差别。

2 我有一个应用密钥后,应该怎么样呢?

应用密钥可以通过HTTPS GET服务请求数据。关于HTTPS的GET和POST服务,可以看一下我找的几个帖子吧,对于做过爬虫,调用过API的人应该不陌生。

官方给了个样例,是用“curl”命令行工具来创建带请求的URL。

curl -v -H 'Authorization: Bearer MY_APP_KEY' 'https://ladsweb.modaps.eosdis.nasa.gov/PATH_TO_MY_FILE' > result

-v和-H属于附加的设置命令。

curl是个适用于所有操作系统的命令行工具。curl简介,也就是说通过curl可以下载对应订单的数据。

它给出了使用这个方式下载的一些要点:

1.所有的字符串都很重要,包括破折号、冒号和引号;

2.将'MY_APP_KEY'替换成你的应用密钥;

3.把“PATH_TO_MY_FILE”替换成你所需要的文件的路径。

4.通常LAADS DAAC的文件路径像下面的形式:

archive/allData/COLLECTION/PRODUCT/YEAR/DAY_OF_YEAR/FILENAME

这里给出一个URL的示例:

在发送请求之后会返回给你一个2007年第18天MODIS Terra250m的大气顶层反射率产品。

笔者常用系统是Ubuntu和Windows10,这里就演示下如何用curl下载数据吧(以Ubuntu为例)。以给出的URL为样例。

Ubuntu上可以直接用apt-get install命令安装curl。网上有帖子,这里不细述了。接着按照上面所说的改写命令行,如果不要“> result”,是按照原来的文件名下载。

下载中。

结果数据。

Windows下的尝试不是很愉快。当然curl也不是主要下载方式,所以我就不继续探索了,如果后面有机会再来说这个吧。

2 自动化

如果你需要的数据是单个文件,并且你知道它位于LAADS数据存档的路径,那么点击并下载它是很简单的。如果你需要下载的文件非常多(比如上个月整个月的VIIRS数据),你可能更愿意利用脚本来下载。因此这里给出了一些代码的示例:Shell脚本、Perl和Python版的。

两条警告:1.不要把全部数据下到你的硬盘。2.尽可能在你的脚本里避免错误,以防下载过多导致IP被封。

3 代码示例

大多数语言都可以进行HTTPS通信,下面有些样例。使用方式是点击“下载源代码”以下载或复制代码并将其粘贴到反映语言的文件中(Shell脚本为.sh,Perl为.p1.,Python为.py)。 确保为文件设置了执行权限。 最后,打开终端或使用您的首选运行时执行文件。

示例:

perl laads-data-download.pl

Perl我不是特别懂,本篇主要介绍Python脚本,Shell脚本也会提一下。

2 使用Python脚本下载

首先下载下来laads-data-download.py,然后放到一个文件夹里,接着打开cmd,输入如下的命令。

python laads-data-download.py -h

这句代码的意思就是,-h是指help,也就是说关于这个Python函数的使用说明。

laads-data-download.py [-h] -s URL -d DIR -t TOK

简单地说这个函数有几个参数需要传进去,-s就是下载源,URL就是你要下载的数据的URL路径,-d就是下载路径,也就是数据应该下载到哪个路径里,-t就是token,令牌,其实就是你的app keys。也就是说完整的运行代码应该是如下:

python laads-data-download.py -s https://ladsweb.modaps.eosdis.nasa.gov/archive/orders/YOUR ORDERS ID -d Paht TO MY FILE -t MY_APP_KEYS

第一个红框就是你订购数据的ID(如下图)。

第二个红框是你数据存放在电脑里的路径。

第三个红框是你的app keys。

接下来就只需要等待数据下载完即可。

顺带提下Shell脚本,也是下载laads-data-download.sh文件。事实上语法都相同。但是Shell脚本呢还需要依赖‘jq’来下载。

./laads-data-download.sh [-h] -s URL -d PATH -t TOKEN

'jq'的安装用命令即可。

apt-get install jq

等待下载结束。

所以事实上,Python脚本下载其实并不难。只需要替换对应的URL、路径、App Keys即可。其他的也如此,如果你懂了就可以开始尝试了。当然笔者之前还用过另一种方式来进行批量下载。接下来可能会就这个部分也来介绍一下。另外一点就目前笔者测试结果,感觉Shell脚本和Ubuntu下载速度要明显快于Python脚本和Windows。

用python批量下载modis数据的速度怎么样_MODIS数据的简介和下载(五)——应用密钥的Python脚本下载...相关推荐

  1. Python批量导入Excel文件中的不重复数据到SQLite数据库

    封面图片:<Python可以这样学>,董付国,清华大学出版社 ============== 好消息:智慧树网APP"知到"中搜索"董付国"可以免费观 ...

  2. python批量读取图片并复制入word_提取出 Word 文档里的图片 并利用 python 批量转换格式...

    日常工作中,你是否遇到过这样的场景,领导发来一份 Word 文档,要求你将文档中的图片存储到一个文件夹内,并且还要将图片都改成 .jpg 或者 .png,你会怎么办?你是不是一边内心崩溃,一边开始一张 ...

  3. python 英语词汇量_北大保安小哥英语词汇量一万五,会用Python编程,网友:北大保安都不会招我...

    原标题:北大保安小哥英语词汇量一万五,会用Python编程,网友:北大保安都不会招我 11月11日下午3时,北大官方微博发文"遇见最强扫地僧!北大保安小哥英语词汇量一万五,会Python,准 ...

  4. python 批量查询网页导出结果_python导出网页数据到excel表格-如何使用python将大量数据导出到Excel中的小技巧...

    如何用python把返回的html提取相应的内容到excel 下载扩展库 xlrd 读excle xlwt 写excle 直百度上搜就能下载 下载后使用 import xlrd 就读excle了 打开 ...

  5. 极速系列04—python批量获取word/PDF/网页中的表格

    这里写目录标题 1 python批量获取word中的表格 目的: 1.1 简介 1.2 读取word文档内容 方法一 方法二 2 python批量获取PDF中的表格 目的: 2.1 简介 2.2 读取 ...

  6. python批量解压批量压缩文件夹(逐个)

    系列文章目录 文章目录 系列文章目录 前言 一.python批量解压 二.python批量压缩 总结 前言 一.python批量解压 提示:如果是重要数据解压前请先备份,解压后会覆盖原压缩文件!! 解 ...

  7. Python批量运行Gprmax仿真并快速提取雷达波走时和振幅

    Python批量运行Gprmax仿真并快速提取雷达波走时和振幅 使用gprmax仿真模拟时,通常在cmd窗口写命令,运行结果保存的文件夹不能任意选择,这样很不方便.尤其是在做钻孔电磁波仿真时,需要大量 ...

  8. python批量改名

    python批量改名 非递归版 import os,sysdef update_files_name():old_names = os.listdir(path)for old_name in old ...

  9. 大数据时代背景下的文物数据资源

    "大数据"(Bigdata)是信息时代的产物,最初用来描述为更新网络搜索索引需要同时进行批量处理或分析的大量数据集. 伴随计算机云时代的来临,大数据通常用来形容一个集合创造的大量非 ...

最新文章

  1. 无线网络连接一直显示“正在获取网络地址”的解决办法
  2. js平滑滚动到顶部,底部,指定地方
  3. python2.7+opencv3.1人脸识别
  4. URLScan工具配置方法第1/2页
  5. css一个盒子里可以装3个图片并排吗_John: CSS浮动与清除浮动属性详解(CSS float clear)...
  6. bzoj 2245 [SDOI2011]工作安排【最小费用最大流】
  7. 电竞+区块链,玩家的4大入局方式
  8. 字节跳动AI Lab 秋季提前批招聘
  9. 腾讯未成年保护措施再优化,专治孩子忽悠家长帮过人脸识别
  10. Mac原生浏览器Safari,那些你都不知道的使用技巧
  11. 始终将文件夹放在 Mac 上 Finder 顶部的方法
  12. 写好PPT的四大要点
  13. VS2008 SP1开发环境补丁列表
  14. 小米路由器3c 虚拟服务器,小米路由器怎么设置_小米路由器3c设置教程-WIFI之家...
  15. fgo升级经验计算机,命运冠位指定FGO升级所需经验值介绍
  16. java init是什么
  17. 中国正从法律入手编织公民信息保护网
  18. 用计算时间差计算出天数
  19. zz很有用的生活小窍门
  20. java中各种缩略词释义字典

热门文章

  1. Penn Treebank词性标记集
  2. 杭电4554 叛逆的小明
  3. 划分字母区间c语言,LeetCode(#763):划分字母区间
  4. endnote参考文献排版_高效管理论文参考文献的方法
  5. C语言和设计模式(桥接模式)
  6. 中考禁用计算机,今年中考数学科禁用计算器,消息来得太突然,懵圈了吧?
  7. layui分页只能显示一页数据_分页显示查询数据
  8. mariadb mysql 重建_(MariaDB/MySQL)之DML(2):数据更新、删除
  9. Web服务器(中间件)漏洞
  10. Spring-boot 项目中使用 jackson 遇到的一个问题