使用Rclone从Google Drive 下载大文件

前言

使用浏览器、或FDM、wget、curl等下载工具,从 Google Drive 下载大文件时经常会遇到中断或下载失败的情况,这一般是由于网络不稳定、Google Drive 的限制、或文件太大导致。

虽然使用 gdown 能一定程度避免上述问题,但对于非常大的文件或下载次数较多的文件,可能会受到 Google Drive 的 API 限制。

因此本文介绍使用rclone下载工具进行下载。它是一个命令行程序,用于管理和同步云存储,可以用于从 Google Drive 下载大文件,并且对大文件的下载非常稳定

重要的事情说三遍
使用前,请自行解决科学上网问题,需同时支持浏览器、和shell/cmd代理访问google
使用前,请自行解决科学上网问题,需同时支持浏览器、和shell/cmd代理访问google
使用前,请自行解决科学上网问题,需同时支持浏览器、和shell/cmd代理访问google

测试shell代理访问google方法
配置完代理后,shell中输入以下命令,若能正确返回html代码,则代理配置OK。使用ping测试是行不通的

curl google.com

安装rclone

请前往官网下载对应系统的安装包,如下图所示 https://rclone.org/downloads/
在这里插入图片描述

配置client-id

请参考以下链接中内容,在Google cloud中配置自己的client-id

https://rclone.org/drive/#making-your-own-client-id

虽然不配置也行,但rclone默认的client-id使用人数太多,下载速度会偏慢。替换成自己的可以大幅提升速度

在这里插入图片描述

配置 rclone 访问 Google Drive

请参考以下链接中内容,配置 rclone 访问 Google Drive

https://rclone.org/drive/#configuration

首次使用 rclone 访问 Google Drive 时,需要进行配置:

  1. 启动配置命令
rclone config
  1. 创建新的 remote
    你会看到如下选项,选择 n 来创建新的 remote:
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
  1. 命名 remote
    选择一个名称,比如 gdrive:
name> gdrive
  1. 选择 Google Drive 作为存储类型
    在下一个菜单中选择 Google Drive
Type of storage to configure.
...
13 / Google Drive\ "drive"
...
Storage> 13
  1. 使用默认设置:
    在接下来的几个选项中,可以按 Enter 来选择默认选项。需要特别注意以下几项:
  • Client ID 和 Client Secret:替换成上面步骤中自己生成的Google cloud
  • Scope:选择 1,只授予对 rclone 访问 Google Drive 的基本权限。
  • Root Folder ID:直接按 Enter。
  • Service Account File:直接按 Enter。
  1. 进行身份验证:
    接下来,rclone 会提示你打开一个浏览器,登录 Google 帐户并授权 rclone 访问你的 Google Drive。授权后,会生成一个验证代码,将其复制并粘贴回终端。
    如果你连接的是远程服务器,没有界面能打开浏览器。可以在shell中选择另外一个选项,它会给你提供一个额外命令,将额外命令粘贴到另外一台有浏览器的电脑shell中,进行授权后,将access_token粘贴回远程服务器即可

  2. 完成配置
    如果一切顺利,你会看到成功添加 remote 的提示。你可以通过以下命令验证配置:

rclone lsd gdrive:

这将列出你 Google Drive 根目录中的所有文件夹

rclone lsf gdrive:

这将列出你 Google Drive 中的所有文件

使用 rclone 下载自己的文件

rclone copy gdrive:path/to/file /path/to/local/dir --drive-chunk-size=64M
  • gdrive是前面 rclone 配置连接 Google Drive,你自定义的名字,替换成你自己的
  • path/to/file 是文件在 Google Drive 上的路径
  • /path/to/local/dir 是你想保存文件的本地路径
  • –drive-chunk-size=64M 可以帮助提升大文件下载的稳定性

使用 rclone 下载共享的文件

下载别人共享的文件或文件夹,你需要获取共享文件的 文件 ID文件夹 ID
假设共享链接如下:

https://drive.google.com/file/d/1abcD2EFGHIJ3KLmnopQRstUV4w/view?usp=sharing

在这个链接中,1abcD2EFGHIJ3KLmnopQRstUV4w 是文件的 ID。

下载共享文件

rclone copy gdrive:  /path/to/local/directory --drive-shared-with-me --drive-root-folder-id 1abcD2EFGHIJ3KLmnopQRstUV4w -P

这会将文件下载到 /path/to/local/directory

  • –drive-shared-with-me 参数用于过滤,显示共享给你的内容
  • –drive-root-folder-id 参数指定要下载的具体文件夹或文件
  • -P 显示下载的进度

下载共享文件夹

rclone copy gdrive:path/to/directory   /path/to/local/directory --drive-shared-with-me --drive-root-folder-id 1abcD2EFGHIJ3KLmnopQRstUV4w -P

这会将文件下载到 /path/to/local/directory

  • path/to/directory 是文件夹在 Google Drive 上的路径

获取该路径方式

rclone lsd gdrive: --drive-shared-with-me

这将列出你 Google Drive 中所有共享给你的文件夹

rclone lsf gdrive: --drive-shared-with-me

这将列出你 Google Drive 中所有共享给你的文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/409318.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在国产芯片上实现YOLOv5/v8图像AI识别-【2.5】yolov8使用C++部署在RK3588更多内容见视频

本专栏主要是提供一种国产化图像识别的解决方案,专栏中实现了YOLOv5/v8在国产化芯片上的使用部署,并可以实现网页端实时查看。根据自己的具体需求可以直接产品化部署使用。 B站配套视频:https://www.bilibili.com/video/BV1or421T74f 背景…

编写 prometheus exporter监控 mysql group replication

用 prometheus 监控 mysql,之前用 mysqld_exporter 收集mysql 的监控指标,发现并没有 mysql 组复制状态的指标。只能自己收集了,编写脚本收集指标推送到 pushgateway,这个办法更简单但是扩缩容不是很方便。下面用 python 编写的一…

kotlin

kotlin 多个耗时操作需拿上一个结果livedata按顺序执行 在Kotlin中,如果你想要按顺序执行多个耗时操作并获取上一个操作的结果,你可以使用LiveData和Transformations.switchMap来实现。以下是一个简化的例子: class MyRepository(private va…

LLM分布式预训练浅析

随着深度学习的不断进步,语言模型的规模越来越大,参数量级已经达到了数千亿甚至数万亿,参数规模的指数增长带来了两个巨大的挑战 1)模型参数过大,如GLM 130B模型参数需要520GB(130B*4bytes)的显…

MDM监管锁系统租赁系统搭建教程

材料准备 使用公司资质申请苹果开发者账号 https://support.tuya.com/zh/help/_detail/Kam3pskapsytn 注意事项: 填写公司官网的时候 公司官网必须可以访问 且官网包含公司的 地址 联系方式 等信息 否则会被拒绝 申请苹果开发者的appleid 最好使用已经注册并使用一…

8.5 数据库基础技术-规范化

函数依赖 函数依赖公理系统

每日Attention学习15——Cross-Model Grafting Module

模块出处 [CVPR 22] [link] [code] Pyramid Grafting Network for One-Stage High Resolution Saliency Detection 模块名称 Cross-Model Grafting Module (CMGM) 模块作用 Transformer与CNN之间的特征融合 模块结构 模块思想 Transformer在全局特征上更优,CNN在…

Puppeteer Web 抓取:使用 Browserless 的 Docker

Docker 镜像介绍 Docker 镜像是用于在 Docker 容器中执行代码的文件。它类似于构建 Docker 容器的指令集,就像一个模板。换句话说,它们相当于虚拟机环境中的快照。 Docker 镜像包含运行容器所需的所有库、依赖项和文件,使其成为容器的独立可…

【Pytorch】生成对抗网络实战

GAN框架基于两个模型的竞争,Generator生成器和Discriminator鉴别器。生成器生成假图像,鉴别器则尝试从假图像中识别真实的图像。作为这种竞争的结果,生成器将生成更好看的假图像,而鉴别器将更好地识别它们。 目录 创建数据集 定…

前端宝典十一:前端工程化稳定性方案

一、工程化体系介绍 1、什么是前端工程化 前端工程化 前端 软件工程;前端工程化 将工程方法系统化地应用到前端开发中;前端工程化 系统、严谨、可量化的方法开发、运营和维护前端应用程序;前端工程化 基于业务诉求,梳理出最…

redhawk:STA timing data file解析

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 往期文章:

PyTorch深度学习网络(一:MLP)

全连接神经网络,又称多层感知机(MLP),是深度学习最基础的神经网络。全连接神经网络主要由输入层、隐藏层和输出层构成。本文实现了一个通用MLP网络,包括以下功能: 根据输入的特征数、类别数、各隐藏层神经…

以简单的例子从头开始建spring boot web多模块项目(五)-thymeleaf引擎

继续向里面加,这次是引入thymeleaf渲染引擎。 使用这个引擎的很多,主要是以下几个优点: Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎。Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板 -HTML可以在浏览器中正确显…

Vue3加vite使用Cesium绘制图形

Vue3加vite使用Cesium绘制图形 1、项目开发准备 Node版本:16.20.2 1.1创建一个新的工程:my-cesium-app npm create vitelatest my-cesium-app – --template vue1.2 安装Element Plus npm install element-plus --save // main.js import ElementPl…

【STM32】看门狗

看门狗,还没有别的地方用上,暂时还不清楚在实际应用中最多的场景是什么,我感觉是用来强制重启系统。 大部分图片来源:正点原子HAL库教程 专栏目录:记录自己的嵌入式学习之路-CSDN博客 目录 1 应用场景 1.1 解决…

Langchain Memory组件深度剖析:从对话基础到高级链式应用

文章目录 前言一、Langchain memory 记忆1.Memory 组件基本介绍2.Memory 组件的类型1.ChatMessageHistory2.ConversationBufferMemory3.ConversationBufferWindowMemory4.ConversationEntityMemory5.ConversationKGMemory6.ConversationSummaryMemory 二、长时记忆1.简单介绍2.…

解决ubuntu22.04无法识别CH340/CH341和vscode espidf插件无法选择串口设备节点问题

文章目录 解决ubuntu22.04无法识别CH340/CH341和vscode espidf插件无法选择串口设备节点问题不识别CH340/CH341报错解决办法升级驱动编译安装 卸载brltty程序 vscode espidf插件无法选择串口设备节点问题解决办法编译安装 解决ubuntu22.04无法识别CH340/CH341和vscode espidf插…

C#开发中ImageComboBox控件数据源实时变换

在C#开发中,我们如何将控件的数据源实时变换,当然我们可以在窗口实例化的时候指定固定的数据源,但是这样对于用户来说数据源永远固定,并不利于我们对于用户的数据存储,优化用户的操作,遇到这种问题&#xf…

Flutter ListView滑动

在Flutter中,ScrollController可以精确地控制和管理滚动行为。通过ScrollController,可以监听滚动的位置、速度,甚至可以在用户滚动时触发自定义的动作。此外,ScrollController还提供了对滚动位置的直接控制,可以编程地…

DRF——请求的封装与版本管理

文章目录 django restframework1. 快速上手2. 请求数据的封装3. 版本管理3.1 URL的GET参数传递(*)3.2 URL路径传递(*)3.3 请求头传递3.4 二级域名传递3.5 路由的namespace传递 小结 django restframework 快速上手请求的封装版本…