微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

利用python中selenium模拟登录nasa官网,为自动下载SAR影像或轨道数据做准备

做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 举报,一经查实,本站将立刻删除。

相关推荐