做InSAR研究的人员,面临大量数据下载存在耗时费力的问题,但数据下载前必须登录账号,因此利用python模拟人工登录,进行相应的数据下载能节省工作量,这里只演示模拟登录的部分,后续下载影像或轨道数据的内容将后面更新。
第一步
你需要注册一个nasa官方账号,注册地址:https://urs.earthdata.nasa.gov/home
第二步
下载与本地谷歌浏览器型号匹配的webdriver驱动,如下:
第三步
开始进行模拟登录,完整代码如下,其中*******表示注册时的账号和密码:
# coding:utf-8
from selenium import webdriver
import time
class earthdataLogin():
def __init__(self):
self.url = "https://urs.earthdata.nasa.gov/home"
self.driver = webdriver.Chrome(executable_path='C:/Program Files/chromedriver.exe') #你的google浏览器驱动存放路径
def login(self):
self.driver.get(self.url)
time.sleep(1) # 等待浏览器加载1秒
username = self.driver.find_element_by_id("username").send_keys("*******")
password = self.driver.find_element_by_id("password").send_keys('********')
self.driver.find_element_by_name('commit').click()
# time.sleep(10)
@property
def get_cookies(self):
cookies = self.driver.get_cookies()
return cookies
def __del__(self):
self.driver.close()
if __name__ == "__main__":
earthdata = earthdataLogin()
earthdata.login()
print(earthdata.get_cookies)
这里获取的cookies即登录后的认证结果,可重复使用,免去每次登录。
登录效果如下
后面可以在下面的网址批量下载哨兵轨道数据
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。