selenium自动保存百度盘资源到百度盘中

本实例的实现逻辑是,应用selenium UI自动化登录百度盘,读取存储百度分享地址和提取码的txt文档,打开百度盘分享地址,填入提取码,然后保存到指定的目录中

全部代码如下:

# -*-coding:utf8-*-
# encoding:utf-8


import time
from selenium import webdriver

browser = webdriver.Chrome()


def loginphont():
    browser.get("https://pan.baidu.com/")#打开链接
    browser.maximize_window()
    browser.find_element_by_id("TANGRAM__PSP_4__footerULoginBtn").click()
    browser.find_element_by_id("TANGRAM__PSP_4__userName").send_keys("百度盘账号")
    browser.find_element_by_id("TANGRAM__PSP_4__password").send_keys("百度盘密码")
    browser.find_element_by_id("TANGRAM__PSP_4__submit").click()
    time.sleep(3)
    browser.find_element_by_id("TANGRAM__23__button_send_mobile").click()#发送验证码
    time.sleep(20)
loginphont()
    

def keep():
    for line in open('C:\\Users\\Beckham\\Desktop\\python\\1.txt'):#循环读取百度地址和提取码
        address = line[0:47]#分离出百度盘地址
        code = line[47:51]#分割出提取码
        browser.get(address)#打开链接  
        if u"分享的文件已经被删除了" in browser.page_source:#如果文件被删除,跳过本次循环,重新一轮循环开始
            continue
        else:
            browser.find_element_by_id("ksrmwk1v").send_keys(code)#输入提取码
            time.sleep(2)
            browser.find_element_by_xpath("//span[contains(text(),'提取文件')]").click()
            time.sleep(2)
            browser.find_element_by_xpath("//span[contains(text(),'保存到网盘')]").click()
            time.sleep(2)
            browser.find_element_by_xpath("//span[contains(text(),'taotu8')]").click()
            time.sleep(2)
            browser.find_element_by_xpath("//span[contains(text(),'确定')]").click()
            time.sleep(5)
keep()

def over():
    print("game over")
over()

 

百度盘资源的链接和提取码的爬取来源请参考这一实例:https://www.cnblogs.com/becks/p/11335493.html

爬取后生成的txt文档如下图

每一条数据的后4位为提取码,其余前面的内容为百度分享链接,所以有了下面的步骤,分离出分享地址和提取码

for line in open('C:\\Users\\Beckham\\Desktop\\python\\1.txt'):#循环读取百度地址和提取码
        address = line[0:47]#分离出百度盘地址
        code = line[47:51]#分割出提取码
        browser.get(address)#打开链接

过程,步骤都相对简单,就不用每一步都讲解拉

 

posted @ 2019-08-25 21:32  小贝书屋  阅读(1570)  评论(0编辑  收藏  举报