使用Python操作百度网盘将别人的分享的内容保存到自己的网盘中

原创 创建时间:2019-01-21 访问量:180 赞:0 踩:0

1、我在使用Python操作百度网盘时是使用selenium.webdriver.Chrome()进行操作的,前提是百度网盘的资源链接与密码已经保存在数据库中了,然后使用Python在Chrome浏览器中打开这个资源链接,如果有密码就使用密码,没有密码就跳过,如果出现其它情况,如资源需要密码而你没有这个密码,这些都当异常忽略掉,数据库记录状态即可。

2、上代码:

from selenium import webdriver
import pymysql
import time

# 保存到百度云盘的方法
def save_bdy(conn):
    try:
        # 获取数据库游标
        cursor = conn.cursor()
        # 查询保存了资源分享链接的res_url,和密码:captcha,状态为0表示没有处理
        cursor.execute("select id, res_url, captcha from tb_ebooks_2 where status = '0'")
        # 将保存好后的资源对应的记录状态标记为1
        update_sql = "update tb_ebooks_2 set status = '1' where id = %d "
        results = cursor.fetchall()
        # 创建Chrome浏览器,显示界面的,为了后面刚开始需要网盘登录时使用
        browser = webdriver.Chrome()
        for (id, res_url, captcha) in results:
            try:
                # 打开资源分享链接
                browser.get(res_url)
                # 判断是否有密码
                if captcha:
                    # 获取资源密码输入框
                    pwd = browser.find_element_by_id('zvbpPbMk')
                    # 在框中输入密码
                    pwd.send_keys(captcha)
                    # 延时4秒
                    time.sleep(4)
                    # 发送回车键进入到资源页面
                    pwd.send_keys(Keys.ENTER)
                time.sleep(10)
                # 找到“保存到网盘”的这个按钮
                button = browser.find_element_by_css_selector('a[title="保存到网盘"]')
                # 单击,注意这时候断点到这里停一下,如果如要认证,你可以填写认证可扫码认证都可以,
                # 认证好后,会出现选择文件夹这个对话框,
                # 只需要认证一次,后续出直接弹出这个文件选择框,自动进行即可
                # 注意一定到断点,进你进行认证时后续程序不要执行
                button.click()
                time.sleep(5)
                # 在文件夹选择对话框中选择你想到保存到的文件夹,比如我的资源
                fold = browser.find_element_by_css_selector('span[node-path="/我的资源"]')
                # 单击这个文件夹就会选中
                fold.click()
                time.sleep(1)
                # 然后获取确定按钮并单击就保存成功了
                ok = browser.find_element_by_css_selector('a[title="确定"]')
                ok.click()
                time.sleep(5)
                cur = conn.cursor()
                try:
                    # 保存成功后,就修改数据库记录的状态
                    cur.execute(update_sql % id)
                    conn.commit()
                except Exception as e:
                    conn.roleback()
                    print(e)
                finally:
                    cur.close()
            # 异常忽略
            except Exception as e:
                print(e)
    except Exception as e:
        print(e)

这里使用Chome()有界面的,是因为要处理百度网盘的登录,注意,这个方法先用断点一步步执行到弹出认证对话框,人工手动认证完成后,后续即可自动运行。

更多关于使用Python操作百度网盘将别人的分享的内容保存到自己的网盘中请访问:
相关资源列表:
更多资源请访问:
评论
 我想说:
==已经到底了==
关注: 粉丝: 积分:
工联信息网
如有问题请致邮箱:need@glxxw2018.com(仅限本站无法查询到的资料);本站能够查询到的资料请关注“工联信息网”公众号,通过页面提供的资源码查询!
不良信息反馈及侵权投诉建议请致邮箱:accusation@glxxw2018.com