使用python将百度云分享文件保存到网盘

本文介绍了一种使用Python和Selenium库自动化保存百度云分享文件到个人网盘的方法。通过Chrome浏览器和Chromedriver驱动,实现了从访问分享链接、输入密码到登录个人账户并选择保存路径的全流程自动化。

昨天我们讨论了如何使用python下载百度云加密分享文件,今天我们看下如何将分享文件保存到自己的网盘,过程如下:

1.准备工作

1.windows操作系统(任意一个操作系统都行,我用的是win10)
2.python的开发环境(现在有python2.7和python3.6两个大版本,我用的是python2.7)
3.安装一些过程中需要使用到的python库selenium
4.下载一个chromedriver.exe(我用的是chrome浏览器所以使用这个驱动,[chromedriver下载](下载http://chromedriver.storage.googleapis.com/index.html)
5.百度云分享的连接地址与密码
复制代码

2.代码展示

def save(self):
    try:
        browser = webdriver.Chrome("D:\\python\\chromedriver.exe")
        url = "https://pan.baidu.com/s/1NhowUs5LKTHWE8zpx_QZcA"
        pwd = "k5ru"
        #你的百度去帐号,保存到你的网盘肯定需要你自己的帐号密码
        user_name = '百度云帐号'
        password = '百度云密码'
        #请求目标地址
        browser.get(url)
        #获取输入分享密码的输入框
        input_ =  browser.find_element(By.CLASS_NAME,"QKKaIE")
        #输入分享密码
        input_.send_keys(pwd, Keys.ARROW_DOWN)
        #获取提交按钮
        submit_button = browser.find_element(By.CLASS_NAME,"text")
        #提交
        submit_button.click()
        
        #休息一下加载新页面
        time.sleep(2)
        
        #登陆自己的百度云
        login_btn = browser.find_element(By.CLASS_NAME,"CDaavKb").find_element_by_xpath('//*[@node-type="header-login-btn"]')
        login_btn.click()#跳转登陆界面
        time.sleep(1)
        name_login = browser.find_element(By.CLASS_NAME,"tang-pass-footerBarULogin")
        name_login.click()#使用账号密码登陆
        
        #输入用户名密码
        time.sleep(1)
        user_name_input  = browser.find_element(By.ID,"TANGRAM__PSP_10__userName")
        pwd_input = browser.find_element(By.ID,"TANGRAM__PSP_10__password")
        user_name_input.send_keys(user_name, Keys.ARROW_DOWN)
        pwd_input.send_keys(password, Keys.ARROW_DOWN)
        
        #点击登陆
        real_login_btn = browser.find_element(By.ID,"TANGRAM__PSP_10__submit")
        real_login_btn.click()
        time.sleep(2)
        
        #保存到网盘
        save_pan = browser.find_element(By.CLASS_NAME,"x-button-box").find_element_by_xpath('//*[@data-button-id="b1"]')
        save_pan.click()
        time.sleep(2)
        
        #选取保存位置
        pdf_book = browser.find_element_by_xpath('//*[@node-path="/pdfbook"]')
        pdf_book.click()
        
        ok_click  = browser.find_element(By.CLASS_NAME,"dialog-footer").find_element_by_xpath('//*[@data-button-id="b15"]')
        ok_click.click()
        
        #browser.close()
    except:
        print 'save faile ',url
复制代码

3.注意

随着百度云网站的升级,可能上述代码中有些元素获取不到,需要我们根据最新的百度云相应的页面,分析页面找到对应的元素。复制代码
### 如何使用迅雷下载百度云网盘的大文件 对于希望提高大文件下载效率的用户来说,可以考虑采用迅雷来代替百度云管家进行下载。具体操作流程如下: #### 准备工作 确保已安装网页浏览器、迅雷以及拥有有效的百度云账号。 #### 获取分享链接并保存至个人账户 当面对需要下载的大文件时,应先将其通过分享链接的形式加入到自己的百度云空间内[^1]。 #### 使用API接口获取真实下载地址 针对确实有需求借助迅雷完成下载的情况,在保存好目标文件之后,需进入百度云界面内的“下载助手”,从中选取“API下载”选项卡下的“显示链接”。此时屏幕上会出现可供使用的实际下载URL路径[^2]。 #### 启动迅雷执行下载任务 最后一步便是利用上述获得的真实链接,在迅雷环境中新建一个下载项目。值得注意的是,直接复制粘贴可能无法成功建立连接;建议采取鼠标右键菜单里的“使用迅雷下载”功能以确保正常运作。 尽管如此,需要注意的是这种方法可能会遇到一定的局限性和挑战,比如下载速率不尽如人意等问题。另外,由于官方政策原因,非VIP用户的某些特定条件下仍可能存在限制措施[^3]。 ```python # 示例Python脚本用于模拟调用API过程(仅作示意用途) import requests def get_real_download_link(share_url): api_endpoint = 'https://pan.baidu.com/api/getdownloadlink' params = { 'shareid': extract_share_id_from_url(share_url), 'uk': extract_user_key_from_url(share_url) } response = requests.get(api_endpoint, params=params) if response.status_code == 200: data = response.json() return data['dlink'] else: raise Exception('Failed to retrieve download link') def extract_share_id_from_url(url): # 解析url提取share id逻辑... pass def extract_user_key_from_url(url): # 解析url提取user key逻辑... pass ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值