zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python利用selenium实现自动登陆网页下载内容

Python网页下载自动 实现 利用 内容 selenium
2023-09-11 14:20:29 时间

最近在做一个实验,需要用到大量的源文件,需要在网站上下载,由于是一个毫无技术且重复性的工作,因此,就想利用python自动完成这件事,话不多说,直接上完整代码啦!


'''
url = https://cddis.nasa.gov/archive/gnss/products/ionex/2021/004/igsg0040.21i.Z
url = 'https://cddis.nasa.gov/archive/gnss/products/ionex/2021/'+doy+'/'+'igsg'+doy+str(0)+'.21i.Z'
'''

from selenium import webdriver
from selenium.webdriver.edge.service import Service
import time
from selenium.webdriver.common.by import By

s = Service("E:\edgedriver_win64\msedgedriver.exe") #这里写本地的msedge的所在路径
driver = webdriver.Edge(service=s)
driver.get("https://urs.earthdata.nasa.gov/oauth/authorize?client_id=gDQnv1IO0j9O2xXdwS8KMQ&response_type=code&redirect_uri=https%3A%2F%2Fcddis.nasa.gov%2Fproxyauth&state=aHR0cDovL2NkZGlzLm5hc2EuZ292L2FyY2hpdmUv") #该处为具体网址,注意是登陆界面的网址
driver.refresh() #刷新页面
driver.maximize_window() #浏览器最大化
driver.find_element(By.ID,'username').send_keys('这里输入你的账号')
driver.find_element(By.ID,'password').send_keys('这里输入你的密码')
time.sleep(0.5)
driver.find_element(By.NAME,'commit').click()
driver.get('https://cddis.nasa.gov/archive/')#该处为登录之后你想直接进入的网址
time.sleep(10)
driver.find_element(By.ID,'gnss').click()
driver.find_element(By.ID,'products').click()
driver.find_element(By.ID,'ionex').click()
driver.find_element(By.ID,'2021').click()#上面四行代码是按照顺点击文件夹
for doy in range(1,365):
    doy = str(doy)
    doy = doy.zfill(3)
    driver.find_element(By.ID, doy).click()
    driver.find_element(By.ID, 'igsg'+doy+str(0)+'.21i.Z').click()
    driver.back()
    time.sleep(10)

msedgedriver.exe是Microsoft Edge浏览器的驱动,下载途径为戳这里
本人亲自试验,可以成功哈
在这里插入图片描述
上图是下载的352天的数据。
各位伙伴们,要是自己在调试的时候出现问题,欢迎大家互相交流哈,我也是小白,我们一起进步!