Бортовой журнал Ктулху

Скачивание больших файлов с google disk через командную строку Linux

Пример скрипта для скачивания больших файлов с гугл диска. Особенностью скачивания больших файлов является наличие дополнительного подтверждения для скачивания, гугл предупреждает что файл большой  уточняет, точно ли его нужно скачать.

 

screenshot 2018 07 21 14 43 21

Скачать такое через wget, понятно, не получится.

screenshot 2018 07 21 14 47 28

Скачивается html файл.

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

Скачивание происходит по ID файла, вот откуда его взять:

screenshot 2018 07 21 14 50 41

ID подставляем в скрипт.

wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILE_ID<a href="https://docs.google.com/uc?export=download&id=FILE_ID'">'</a> -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=FILE_ID" -O FILE_NAME && rm -rf /tmp/cookies.txt

Заменить FILE_ID на вой и указать имя и расшрение сохраняемого файла. 

И процесс пошел!