作者: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)
