Как скачать папку на Google Диске по ссылке в linux
У меня есть ссылка на общую папку на диске Google (может просматривать любой пользователь в Интернете, имеющий эту ссылку), как показано ниже. Пример: 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
Заранее спасибо за помощь!
1 ответ
Использование "gdown"
gdown - отличное приложение для загрузки одного файла из gdrive, требующего только идентификатора файла или ссылки, но было несколько великих умов github, которые были вдохновлены на реализацию функции загрузки папки.
Собственно, состояние этой функции можно посмотреть в gdown:90 github PR.
Вы можете использовать его, так как он реализован почти идеально (есть вопрос только 50 файлов в папке как максимум для загрузки):
- установить gdown с развитой
folder_download
функция через пункт:
pip install git+https://github.com/giuliano-oliveira/gdown_folder.git
- Теперь нам нужно бежать
gdown.download_folder
функция в оболочке python3 (поскольку поддержка 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, поскольку есть внутренние проблемы с получением соответствующей информации обо всех элементах через API запросов gdrive.
- Возможно, вам потребуется создать имя целевой папки