【问题标题】:How to download a google drive folder using link in linux如何使用 linux 中的链接下载谷歌驱动器文件夹
【发布时间】:2023-03-31 23:58:01
【问题描述】:

我有一个共享的 google drive 文件夹链接(互联网上任何拥有此链接的人都可以查看)如下 例如:https://drive.google.com/drive/folders/1i_c8LhSLf-LttV-UOMDcY4rLAalxxxx?usp=sharing

我想使用任何 wget/CURL/任何 python 包下载。

我已经尝试了以下方法,但它不起作用。

 curl -L "https://drive.google.com/uc?id=1i_c8LhSLf-LttV-UOMDcY4rLAalkcayn&export=download" > test.tar.gz
import gdown
import time
url='https://drive.google.com/uc?id=1i_c8LhSLf-LttV-UOMDcY4rLAalkxxxx'
output='/data/test/test.zip'
time.sleep(100)
gdown.download(url, output, quiet=False)

错误:

Permission denied: https://drive.google.com/uc?id=1i_c8LhSLf-LttV-UOMDcY4rLAalkcayn
Maybe you need to change permission over 'Anyone with the link'?

以下命令适用于文件,但不适用于文件夹

wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=11e85AnMEGEjrxPuewlmeg-ABOZ8asdf' -O test

提前感谢您的帮助!

【问题讨论】:

标签: python-3.x linux curl wget gdrive


【解决方案1】:

使用“gdown”

gdown 是一个很棒的应用程序,可以从 gdrive 下载单个文件,只需要文件 id 或链接,但是有几个 github 的伟大思想受到启发,实施了文件夹下载功能。

其实这个功能的状态可以在gdown:90 github PR查看。

您可以使用它,因为它实现得几乎完美(存在一个问题:文件夹中最多只有 50 个文件可供下载):

  1. 通过 pip 安装带有 folder_download 功能的 gdown:
pip install git+https://github.com/giuliano-oliveira/gdown_folder.git
  1. 现在我们需要在python3 shell中运行gdown.download_folder函数(因为没有实现对文件夹下载的cli支持):

$ python3

import gdown
gdown.download_folder(gdrive_folder_link, quiet=True)

使用您自己的gdrive_folder_link,以字符串格式'https://drive.google.com/drive/u/1/folders/{id}'(其他未选中)。

注意:

  • 您可能需要注册 gdown 应用程序。
  • 另外,请记住从文件夹中下载的最大元素数为 50,因为通过 gdrive 请求 API 获取有关所有项目的相关信息存在内部问题。
  • 您可能需要创建目标文件夹名称

【讨论】:

  • 我得到`gdown.download_folder`的语法错误这是我的命令`gdown.download_folder(drive.google.com/drive/u/1/folders/…, quiet=True)`
  • @Sulphur,语法错误意味着输入错误等。您应该使用str 类型作为gdrive 文件夹链接。 (用引号括起来你的链接)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-13
  • 1970-01-01
  • 2018-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-18
相关资源
最近更新 更多