批量下載劉良雲團隊 2015年全球30米精細地表覆蓋產品數據集


作者:Hywel

訪問網頁http://data.casearth.cn/sdo/detail/5d904b7a0887164a5c7fbfa0

並登錄自己的賬號

 

拉到網頁底部

 

先訪問“通過ID獲取文件列表  getAllFileListBySdoId”的url

 

爬取這個網頁,獲得每個數據的名字

url = 'http://data.casearth.cn:80/api/getAllFileListBySdoId?sdoId=5d904b7a0887164a5c7fbfa0'

resp = requests.get(url)

html = eval(resp.content.decode('utf-8'))

data = html['文件信息列表']

filename = data[0]['filename']

點擊tiff的數據我們可以看到下載鏈接url:

 

 

某數據url為

http://data.casearth.cn/casearth_data/從自己那里復制/從自己那里復制_001/GLCFCS30_E0N30.tif

可以看到http://data.casearth.cn/casearth_data/從自己那里復制/從自己那里復制_001/是固定的,只是每個數據的名字“GLCFCS30_E0N30.tif”部分不一樣

名字部分可以從前面的filename獲得。

因此用一個循環不斷組合該鏈接就可以了

url1 = 'http://data.casearth.cn/casearth_data/從自己那里復制/從自己那里復制_001/' + filename

resp1 = requests.get(url1)

最后在循環中寫出數據

 

完整代碼:

import requests
import time

url = 'http://data.casearth.cn:80/api/getAllFileListBySdoId?sdoId=5d904b7a0887164a5c7fbfa0'
resp = requests.get(url)
html = eval(resp.content.decode('utf-8'))
data = html['文件信息列表']
for i in range(len(data)):
    filename = data[i]['filename']    
    url1 = 'http://data.casearth.cn/casearth_data/從自己那里復制/從自己那里復制_001/' + filename
    resp1 = requests.get(url1)
    tif_name = filename
    with open(tif_name, 'wb') as file: 
        file.write(resp1.content)
        file.flush()     
    print(tif_name )
    file.close()  # 關閉文件
time.sleep(1)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM