批量下载刘良云团队 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)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示