MODIS數(shù)據(jù)的簡介和下載(五)——應用密鑰的Python腳本下載

接上文,由于NASA官方棄用了FTP改用HTTPS服務,所以關于MODIS數(shù)據(jù)的下載方式有所改變。完整系列博客可以參照以下鏈接轮蜕。本篇主要接著上一篇沒有講完的應用密鑰的腳本下載介紹昨悼。

MODIS數(shù)據(jù)的簡介和下載(一)——MODIS數(shù)據(jù)簡介

MODIS數(shù)據(jù)的簡介和下載(二)——MODIS數(shù)據(jù)下載方式(FTP)

MODIS數(shù)據(jù)的簡介和下載(三)——MODIS數(shù)據(jù)下載方式(基于MODIS Web Service)

MODIS數(shù)據(jù)的簡介和下載(番外篇)——MODIS Web Service的Python客戶端應用

MODIS數(shù)據(jù)的簡介和下載(四)——HTTPS服務下載說明

1 官方教程與說明

LAADS Data Download Scripts

接著上文的部分往下蝗锥,上一篇博客已經(jīng)講了一小部分應用密鑰。本篇主要針對以下部分介紹(紅框部分)率触。

image

1 應用密鑰

1 申請一個應用密鑰

任何注冊了Earthdata賬戶(注冊鏈接)的人都可以申請應用密鑰终议。通過以下步驟就可以申請一個應用密鑰。

1.首先轉(zhuǎn)到對應的頁面:LAADS DAAC葱蝗,登陸Earthdata穴张。
2.接著點擊Profile→App Keys(見截圖)。
3.通過輸入你對keys的描述并且點擊 "Create New App Key"按鈕創(chuàng)建一個新的應用密鑰两曼。

image
image
image

當然如果以前你就有應用密鑰皂甘,但是你忘記了,那就按照如下的步驟操作:
1.登陸Earthdata(同上)悼凑。
2.接著點擊Profile→App Keys(同上)偿枕。
3.復制你的密鑰。

總的來說這個操作跟國內(nèi)百度地圖户辫、高德地圖API也沒太大差別渐夸。

2 我有一個應用密鑰后,應該怎么樣呢?

應用密鑰可以通過HTTPS GET服務請求數(shù)據(jù)渔欢。關于HTTPS的GET和POST服務墓塌,可以看一下我找的幾個帖子吧,對于做過爬蟲奥额,調(diào)用過API的人應該不陌生苫幢。

HTTP 方法:GET 對比 POST
知乎:get和post區(qū)別?

官方給了個樣例垫挨,是用“curl”命令行工具來創(chuàng)建帶請求的URL韩肝。

https://ladsweb.modaps.eosdis.nasa.gov/PATH_TO_MY_FILE

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

-v和-H屬于附加的設置命令。

curl是個適用于所有操作系統(tǒng)的命令行工具棒拂。curl簡介伞梯,也就是說通過curl可以下載對應訂單的數(shù)據(jù)玫氢。

它給出了使用這個方式下載的一些要點:

1.所有的字符串都很重要,包括破折號谜诫、冒號和引號漾峡;
2.將'MY_APP_KEY'替換成你的應用密鑰;
3.把“PATH_TO_MY_FILE”替換成你所需要的文件的路徑喻旷。
4.通常LAADS DAAC的文件路徑像下面的形式:

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

這里給出一個URL的示例:

https://ladsweb.modaps.eosdis.nasa.gov/archive/allData/6/MOD02QKM/2007/018/MOD02QKM.A2007018.0105.006.2014227230926.hdf

在發(fā)送請求之后會返回給你一個2007年第18天MODIS Terra250m的大氣頂層反射率產(chǎn)品生逸。

筆者常用系統(tǒng)是Ubuntu和Windows10,這里就演示下如何用curl下載數(shù)據(jù)吧(以Ubuntu為例)且预。以給出的URL為樣例槽袄。

curl官網(wǎng)

Ubuntu上可以直接用apt-get install命令安裝curl。網(wǎng)上有帖子锋谐,這里不細述了遍尺。接著按照上面所說的改寫命令行,如果不要“> result”涮拗,是按照原來的文件名下載乾戏。

image
image

下載中。

image
image

結(jié)果數(shù)據(jù)三热。

image

Windows下的嘗試不是很愉快鼓择。當然curl也不是主要下載方式,所以我就不繼續(xù)探索了就漾,如果后面有機會再來說這個吧呐能。

2 自動化

如果你需要的數(shù)據(jù)是單個文件,并且你知道它位于LAADS數(shù)據(jù)存檔的路徑抑堡,那么點擊并下載它是很簡單的摆出。如果你需要下載的文件非常多(比如上個月整個月的VIIRS數(shù)據(jù)),你可能更愿意利用腳本來下載夷野。因此這里給出了一些代碼的示例:Shell腳本懊蒸、Perl和Python版的。
兩條警告:1.不要把全部數(shù)據(jù)下到你的硬盤悯搔。2.盡可能在你的腳本里避免錯誤骑丸,以防下載過多導致IP被封。

3 代碼示例

大多數(shù)語言都可以進行HTTPS通信妒貌,下面有些樣例通危。使用方式是點擊“下載源代碼”以下載或復制代碼并將其粘貼到反映語言的文件中(Shell腳本為.sh,Perl為.p1.灌曙,Python為.py)菊碟。 確保為文件設置了執(zhí)行權限。 最后在刺,打開終端或使用您的首選運行時執(zhí)行文件逆害。

示例:

perl laads-data-download.pl

Perl我不是特別懂头镊,本篇主要介紹Python腳本,Shell腳本也會提一下魄幕。

2 使用Python腳本下載

首先下載下來laads-data-download.py相艇,然后放到一個文件夾里,接著打開cmd纯陨,輸入如下的命令坛芽。

python laads-data-download.py -h
image

這句代碼的意思就是,-h是指help翼抠,也就是說關于這個Python函數(shù)的使用說明咙轩。

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

簡單地說這個函數(shù)有幾個參數(shù)需要傳進去,-s就是下載源阴颖,URL就是你要下載的數(shù)據(jù)的URL路徑活喊,-d就是下載路徑,也就是數(shù)據(jù)應該下載到哪個路徑里膘盖,-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
image

第一個紅框就是你訂購數(shù)據(jù)的ID(如下圖)。

image

第二個紅框是你數(shù)據(jù)存放在電腦里的路徑损晤。

第三個紅框是你的app keys软棺。

接下來就只需要等待數(shù)據(jù)下載完即可。

順帶提下Shell腳本尤勋,也是下載laads-data-download.sh文件喘落。事實上語法都相同。但是Shell腳本呢還需要依賴‘jq’來下載最冰。

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

'jq'的安裝用命令即可瘦棋。

apt-get install jq
image

等待下載結(jié)束。

所以事實上暖哨,Python腳本下載其實并不難赌朋。只需要替換對應的URL、路徑篇裁、App Keys即可沛慢。其他的也如此,如果你懂了就可以開始嘗試了达布。當然筆者之前還用過另一種方式來進行批量下載团甲。接下來可能會就這個部分也來介紹一下。另外一點就目前筆者測試結(jié)果黍聂,感覺Shell腳本和Ubuntu下載速度要明顯快于Python腳本和Windows躺苦。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末身腻,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子匹厘,更是在濱河造成了極大的恐慌霸株,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件集乔,死亡現(xiàn)場離奇詭異去件,居然都是意外死亡,警方通過查閱死者的電腦和手機扰路,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門尤溜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人汗唱,你說我怎么就攤上這事宫莱。” “怎么了哩罪?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵授霸,是天一觀的道長。 經(jīng)常有香客問我际插,道長碘耳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任框弛,我火速辦了婚禮辛辨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘瑟枫。我一直安慰自己斗搞,他們只是感情好,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布慷妙。 她就那樣靜靜地躺著僻焚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪膝擂。 梳的紋絲不亂的頭發(fā)上虑啤,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機與錄音猿挚,去河邊找鬼咐旧。 笑死,一個胖子當著我的面吹牛绩蜻,可吹牛的內(nèi)容都是我干的铣墨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼办绝,長吁一口氣:“原來是場噩夢啊……” “哼伊约!你這毒婦竟也來了姚淆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤屡律,失蹤者是張志新(化名)和其女友劉穎腌逢,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體超埋,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡搏讶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了霍殴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片媒惕。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖来庭,靈堂內(nèi)的尸體忽然破棺而出妒蔚,到底是詐尸還是另有隱情,我是刑警寧澤月弛,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布肴盏,位于F島的核電站,受9級特大地震影響帽衙,放射性物質(zhì)發(fā)生泄漏菜皂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一佛寿、第九天 我趴在偏房一處隱蔽的房頂上張望幌墓。 院中可真熱鬧,春花似錦冀泻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至溯祸,卻和暖如春肢专,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背焦辅。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工博杖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人筷登。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓剃根,卻偏偏與公主長得像,于是被迫代替她去往敵國和親前方。 傳聞我的和親對象是個殘疾皇子狈醉,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容