1

我有一个共享的谷歌驱动器文件夹链接(互联网上的任何人都可以通过此链接查看),如下所示:https ://drive.google.com/drive/folders/1i_c8LhSLf-LttV-UOMDcY4rLAalxxxx?usp=sharing

我想使用任何 wget/CURL/any 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

提前感谢您的帮助!

4

1 回答 1

0

使用“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. 现在我们需要gdown.download_folder在 python3 shell 中运行函数(因为没有实现对文件夹下载的 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 获取有关所有项目的相关信息存在内部问题。
  • 您可能需要创建目标文件夹名称
于 2021-09-21T12:36:58.990 回答