Как скачать папку с гугл диска с помощью терминала?


60

Я хочу скачать папку с моего диска Google с помощью терминала? Есть ли способ сделать это? Я попробовал это:

$ wget "https://drive.google.com/folderview?id=0B-Zc9K0k9q-WWUlqMXAyTG40MjA&usp=sharing"

Но он загружает этот текстовый файл: folderview?id=0B-Zc9K0k9q-WdEY5a1BCUDBaejQ&usp=sharing. Есть ли способ загрузить папку google drive из терминала?



Я проверил их, но они не могут обрабатывать таблицы Google. Поскольку мне нужен доступ к электронным таблицам, и я ocamlfuseмогу справиться с этим, я думал о том, чтобы загружать их каждый раз, когда они мне нужны, хотя и требуют больших затрат времени на установку. Но у меня нет других вариантов.
user22180 10.06.14

Установите для папки значение «каждый может найти и просмотреть в Интернете», после чего вы сможете загрузить файл wget https://googledrive.com/host/file_id, который вам подходит wget https://googledrive.com/host/0B-Zc9K0k9q-WdEY5a1BCUDBaejQ. Решение объяснено здесь более подробно .
Поль Ружье,

Какие-нибудь новые ответы на это за прошедшее время? у нас есть один вариант ниже.
Матан

Ответы:


48

Мне удалось загрузить общедоступный файл с помощью этой команды:

$ wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILEID' -O FILENAME

Где FILEIDдолжен быть заменен фактическим идентификатором файла. FILENAMEпуть / имя файла, где будет храниться загрузка.

Обратите внимание, что вы не можете использовать folderid вместо fileid. Я использовал представление источника в представлении папки, где я мог найти следующий HTML <div id="entry-0B0jxxycBojSwVW.... Строка, начинающаяся с, 0Bбыла fileid.


4
Это отлично сработало для меня! просто пришлось использовать drive.google.com вместо
thouliha

так как у меня был большой файл, я продолжал получать предупреждение о вирусном сканере Google (что он не может сканировать). Я не нашел решения этой проблемы. Тем не менее, я понял, что могу просто использовать scpдля передачи файла на мой сервер (который нуждался в такой загрузке)
Matthias

2
это больше не работает с Google Drive ...
loretoparisi

2
Это не будет работать для больших файлов. Этот ответ в переполнении стека работает как
HG Sur

1
@HGSur Мой ответ ниже также работает для больших файлов.
FrankerZ

22

Для файлов Google Drive, которые слишком велики, и вы получаете сообщение об ошибке «Google не может предоставить проверку на вирусы», вот решение, которое я использовал:

Сначала попытайтесь скачать файл здесь (следуйте инструкциям выше):

$ wget --save-cookies cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILEID' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/Code: \1\n/p'

Затем, после того, как мы получим код (он будет выведен на веб-страницу и выведен с использованием sed выше), используйте следующий URL:

$ wget --load-cookies cookies.txt 'https://docs.google.com/uc?export=download&confirm=CODE_FROM_ABOVE&id=FILEID'

Добавьте -O FILENAMEк предыдущему оператору wget, чтобы указать имя файла, если вы хотите записать его в файл.


Это работает как шарм! Если вы добавите --content-disposition, wget автоматически даст файлу правильное имя
Waleed Hamra

8

Более новый, с открытым исходным кодом мультиплатформенный клиент, написанный на Go называется диск довольно красиво и полнофункциональным, а также находится в активной разработке.

Примеры

Команда pull загружает данные с Google Диска, которые не существуют локально, и удаляет локальные данные, которых нет на Google Диске. Запустите его без каких-либо аргументов, чтобы извлечь все файлы из текущего пути:

$ drive pull

Тяга по спичкам также поддерживается

$ cd ~/myDrive/content/2015
$ drive pull --matches vines docx

См. Ссылку выше для дальнейших примеров, это только верхушка айсберга.


1
Этот инструмент не поддерживается с сентября 2017 года
Mateusz Konieczny

Да , но он все еще работает и загрузить весь каталог это лучшее решение: drive pull 'Colab Notebooks/sorted/models/resnet-101-90.9-max-acc'. Другие методы - боль в заднице.
Авио

7

wgetможет обрабатывать только прямые ссылки, но это не главная проблема. Google Drive ожидает от вас проверки подлинности перед загрузкой файла. Это означает, что вам придется использовать веб-браузер для загрузки файла. Для терминала есть несколько веб-браузеров, примером является lynx .

Если вы решите открыть общий доступ к своему файлу (чтобы каждый мог его скачать), вы можете воспользоваться одной из многочисленных служб постоянных ссылок Google Диска. Я считаю, что они должны создавать ссылки, которые будут работать с wget. Вот список двух я нашел при поиске информации: http://gdriveurl.com/ http://gdurl.com/

Предполагая, что вы работаете в Linux, есть клиент с открытым исходным кодом для Google Drive, который, возможно, стоит изучить.


lynx показывает «перенаправление» более 5 минут при попытке доступа к диску. "Постоянная ссылка Google Диска" в порядке, но я не хочу делиться этим со всеми. Я использовал Griveи , Ocamlfuseно они не могут таблицы доступа
user22180

Подтверждено, что ссылка «скачать» от gdriveurl работала с wget
Рэндалл

Что касается предложения клиента с открытым исходным кодом: из моего опыта использования этого клиента gdrive и аналогичной утилиты под названием rclone у меня был лучший опыт работы с rclone.
7yl4r

7

В репозитории Ubuntu 17.04 есть гигантская программа: rclone

$ sudo apt update && sudo apt install rclone

$ rclone config --> than follow the steps to setup your gdrive

Теперь вы можете скопировать и синхронизировать все, что вы хотите. Проект поддерживает все виды облаков .. например:

$ rclone sync /home/<usrname>/Desktop/yourfolder gdrivename:yourfolder

[1]: https://rclone.org

(Кстати, я загрузил около 600 ГБ и перевел 1 ТБ с rclone из gdrive в gdrive за несколько часов, gdrive в Ubuntu и Ubuntu в Gdrive ... и он работает потрясающе в течение нескольких недель подряд !!

https://forum.rclone.org/t/can-copy-between-google-drive-accounts-without-download-and-upload-files/969/8

)


5

Вы можете попробовать, если вы используете Firefox, установить Cliget Addon. Для каждого файла, который вы хотите загрузить, программа покажет вам прямую ссылку curl, wget или aria2 для загрузки этого файла. Я использую это для загрузки файлов на другие машины через ssh, потому что для меня гораздо быстрее загрузить непосредственно на удаленный компьютер, чем загрузить этот файл с моего компьютера. Это также работает с dropbox, gdrive и т. Д.


5

Вы можете использовать инструмент командной строки Linux / Unix с открытым исходным кодом gdrive.

Чтобы установить его:

  1. Загрузите бинарный файл. Например, выберите тот, который подходит вашей архитектуреgdrive-linux-x64.

  2. Скопируйте его на свой путь.

    sudo cp gdrive-linux-x64 /usr/local/bin/gdrive;
    sudo chmod a+x /usr/local/bin/gdrive;
    

Чтобы использовать это:

  1. Определите идентификатор папки Google Диска. Для этого перейдите в папку для загрузки с помощью веб-клиента drive.google.com. Теперь посмотрите на URL в адресной строке браузера, он покажет что-то вроде https://drive.google.com/drive/folders/0B7_OwkDsUIgFWXA1B2FPQfV5S8H. Получите строку позади последней /и скопируйте ее в буфер обмена. Это идентификатор папки.

  2. Загрузите папку. Конечно, вместо этого используйте идентификатор вашей папки в следующей команде.

    gdrive download --recursive 0B7_OwkDsUIgFWXA1B2FPQfV5S8H
    

При первом использовании инструменту необходимо получить разрешения на доступ к API Google Диска. Для этого он покажет вам ссылку, которую вы должны посетить в браузере, а затем вы получите проверочный код для копирования и вставки обратно в инструмент. Загрузка начнется автоматически. Нет индикатора прогресса, но вы можете наблюдать за прогрессом в файловом менеджере или втором терминале.

Источник: комментарий Тоби в вопросе stackoverflow.com. Ответ адаптирован из моего аналогичного ответа там .


4

Скачать бинарный файл по ссылке ниже

chmod +x <binary>
./drive download id

Будет сгенерирована ссылка для проверки кода. Нажмите на ссылку и разрешите доступ к gdrive и скопируйте код подтверждения из браузера. Вставьте это.

Меня устраивает

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.