python下载百度云资源分享吧_使用python将百度云分享文件保存到网盘

  昨天我们讨论了如何使用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.注意

  随着百度云网站的升级,可能上述代码中有些元素获取不到,需要我们根据最新的百度云相应的页面,分析页面找到对应的元素。复制代码