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天的数据。
各位伙伴们,要是自己在调试的时候出现问题,欢迎大家互相交流哈,我也是小白,我们一起进步!
相关文章
- 第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求
- Python:提取网页中的电子邮箱
- python中@classmethod @staticmethod区别
- Python中的下划线(转)
- 分析Python中解析构建数据知识
- Python 图像处理 OpenCV (6):图像的阈值处理
- 小白学 Python(3):基础数据类型(下)
- 华为OD机试 - 最多几个直角三角形(Java & JS & Python)
- Python语言学习:Python语言学习之容器(列表&元组&字典&集合)简介、特点/意义/经验总结及容器魔法方法(定义可变&不可变容器的协议)的简介、案例应用之详细攻略
- Python编程语言学习:包导入和模块搜索路径(包路径)简介、使用方法(python系统环境路径的查询与添加)之详细攻略
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(LabelFrame/Checkbutton/Radiobutton)
- Python:利用python语言绘制多个子图经典案例、代码实现之详细攻略
- Python语言学习之双下划线那些事:python和双下划线使用方法之详细攻略
- python --> Python初阶 --> 基础语法 --> 条件和分支
- multiprocessing:这样做才能重复利用 Python 的多核
- 最不靠谱的 Python 预测:今年双十一的销量是 6213 亿元
- 运行python不报错,运行pip报错
- 【华为OD机试 2023】 匿名信(C++ Java JavaScript Python)
- python爬虫入门教程:爬取网页图片(亲测可用)
- Python编程:python-attrs模块的简单使用
- 【python 13】计算机视觉:基本的图像处理
- 【异常】前端ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- Python学习笔记十二之十大经典排序算法
- Python 性能测试 Locust 实例