python使⽤selenium,webdriver⾃动下载百度⽹盘内容linux系统包含哪些
想实现⼀个⾃动下载分享百度⽹盘图⽚链接的爬⾍,使⽤selenium和⽕狐的webdriver进⾏完成
webdriver
1.⾸先根据⾃⼰的浏览器下载相应的webdriver驱动器,python中导⼊selenium包。webdriver下载好后,放在浏览器的默认安装地址中,
然后再在⾃⼰的python默认安装地址中也加⼊⼀份webdriver,并且添加环境变量path,加⼊浏览器的安装地址,即:webdriver放置的⽬录
2.获取⾃⼰浏览器的默认配置,也可以不⽤,即去掉
propath = r"C:\Users\⽤户名\AppData\Roaming\Mozilla\Firefox\Profiles\05dg6q1p.default"
profile = webdriver.FirefoxProfile(propath)#使⽤⾃⼰浏览器的配置,我的是⽕狐浏览器
,其实不影响什么。获取的话根据写的路径⾃⼰
3.获取⾃⼰百度⽹盘的cookie,先在浏览器上登录,然后点击检查
到⽹络点击第⼀条发出的请求
到cookie中的名字是BDUSS,复制替换源代码的值
4.替换百度⽹盘的连接,和提取码后就⼤体完成了
5.可以⾃⼰编写从⽂件读取多条百度⽹盘链接的函数,在调⽤本源代码。此⽅法仅是适⽤⼀条百度链接
源代码
from selenium import webdriver
from selenium.webdrivermon.keys import Keys
在c语言中函数的数据类型是指import time
propath = r"C:\Users\⽤户名\AppData\Roaming\Mozilla\Firefox\Profiles\05dg6q1p.default"
profile = webdriver.FirefoxProfile(propath)#使⽤⾃⼰浏览器的配置,我的是⽕狐浏览器
#使⽤⾃⼰百度⽹盘的cookie
cookie1 = {'value': '⾃⼰百度⽹盘的cookie',
'name': 'BDUSS'}
driver = webdriver.Firefox()#括号参数:executable_path="driver路径",可配置浏览器驱动的⽬录加⼊了环境变量,就不⽤括号⾥的参数了
#pan.baidu/s/18BSsXsCKUfpEumKUMT8mTA
# 提取码:bhnd 测试
link="pan.baidu/s/18BSsXsCKUfpEumKUMT8mTA"
num="bhnd"
<(link)#先建⽴链接
driver.add_cookie(cookie_dict=cookie1)#添加cookie进⾏登录
elem = driver.find_element_by_id("accessCode")
mfc教程基础mariadb支持json吗elem.send_keys(num)kubernetes安装
elem.send_keys(Keys.RETURN)#输⼊回车
time.sleep(10)#等待到完全加载后再元素
nowurl=driver.current_url
#
# sreach_window = driver.current_window_handle
#全选
driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[1]/div/div[2]/div[2]/div[2]/div/ul[1]/li[1]/div/span[1]").click()
time.sleep(2)
#点击下载
# driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[1]/div/div[1]/div/div[2]/div/div/div[2]/a[2]/s
pan/span").click()#⾃⼰决定是下载还是保存,下载可能会出现输⼊校验码的情况,⽆法解决#点击保存
driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[1]/div/div[1]/div/div[2]/div/div/div[2]/a[1]").click()
time.sleep(2)
python入门教程网盘driver.find_element_by_xpath("/html/body/div[3]/div[3]/a[2]/span/span").click()#到确认按钮点击
如果对你有帮助的话不妨点个赞,欢迎在评论区留⾔
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论