- 脚本介绍:使用Python+科学上网+多进程,快速批量检索和下载哥白尼Sentinel数据
- 哥白尼数据空间生态系统旧网址https://scihub.copernicus.eu/
- 哥白尼数据空间生态系统新网址: https://dataspace.copernicus.eu/
- 由于哥白尼旧的平台已经正式关闭了,旧平台关闭也就意味着旧平台的数据API接口失效,而目前网络上大部分介绍的脚本都或多或少出现有下载慢、难调试等各种问题,本脚本根据市场目前已有的脚本加以改善,在脚本中加入科学上网,提高了下载速度;同时自主优化了检索脚本,使得检索调试变得简;最后结合多进程技术提高下载速度。
- 脚本中主要包含一个SentinelDownload类用来组织各种下载函数,其具体包含有以下函数
- CreatURL:构造检索URL
- GetAccessToken:根据用户名和密码获取token(下载文件时需要token+下载链接)
- Search:根据检索URL检索数据
- Download1:单个数据文件的下载
- SingleDownload:单一进程下载
- MultiDownload:多进程下载
- 代码入口程序包含了一些参数设置,具体设置教程见下文。
主要包括:设置SearchURL、设置本地代理,设置保存路径,设置用户名和密码四个部分
- 获取SearchURL,进入哥白尼数据中心Copernicus Browser,像正常检索数据意义设置好各种参数,包括不限于感兴趣区域的设置、数据等级、传感器日期范围等字段的设置。各项参数设置完毕后,先别着急点击Search。
- 鼠标右键打开开发者模式(检查),按下图操作
- 根据下图找到检索URL,将内容复制到SearchURL.txt文件中,脚本将对左侧所有检索结果(不仅仅是显示的50条,包括未显示的Load more)进行批量下载。
- 至此,SearchURL设置完成。
-
开启科学上网,具体八仙过海,此处做不赘述。值得注意的是:需要保证代理流量足够
-
打开代码文件
NewSentinelDownload.py
,在程序中照猫画虎设置代理,注意对应代码片段位置在开头。 -
至此,代理设置完成
- 比较简单,看看就行,注意路径中是
/
,如果Windows直接拷贝地址需要注意修改,文件夹路径可以不存在,有创建路径的函数。
1.Copernicus Data Space Ecosystem | Europe's eyes on Earth的登录用户名和密码
至此完成所有设置,执行python脚本即可进行下载,需要注意的是:正在下载的文件会在Temp文件夹中存在,下载完毕的文件会移动到Finish文件夹中,Finish中已经存在的文件不会进行二次下载,可以Pycharm里面执行,也可以命令行执行,下面展示Pycharm执行的效果:
- 由于token具有有效期限约4h,目前脚本并未长时间下载,单对token过期做了一些处理,如有问题,欢迎邮箱私信。
- 对于本脚本,还有很多可以优化的地方,希望大家可以多给些建议,不忘收藏关注😉
- 本人也是测绘遥感方向的学习者,愿意结交志同道合的伙伴,对于脚本的相关问题可在一定程度上提供帮助。
- 脚本目前设置的进程数是合理的,若修改脚本进程过大放在多核服务器上执行导致对哥白尼数据空间服务器的攻击行为,本站不承担任何责任。
- ......最终解释权归作者所有。作者邮箱:[email protected],烦请说明来意。