從 Google 雲端硬碟下載大資料夾

從 Google 雲端硬碟下載大資料夾

我想寫一個腳本來下載這個資料夾來自Google雲端硬碟。該腳本針對非專家 UNIX 用戶,因此我不想使用curl 或wget 以外的其他內容。我已經看到了帶有 fileid 的解決方案,但在我的情況下我無法取得 fileid 。

有人設法從 Google 雲端硬碟下載資料夾嗎?

以下是我嘗試過的解決方案:

答案1

我發現從谷歌驅動器下載大資料夾的最簡單的最新解決方案(2021)是 gdrive:

http://github.com/prasmussen/gdrive

gdrive download --recursive --skip <file_id>

其中<file_id>id 是從資料夾 URL 取得的。無需配置任何內容,它會詢問您的憑證等。

--skip標誌對於大型資料夾很有用,因為下載可能會在某個時刻逾時。然後,您重新運行該命令,--skip並將使其表現得像rsync.

截至目前,這是一個相對較新的標誌,如果您透過 Go--skip安裝則可用。gdrive如果您的系統gdrive沒有它,請在不使用 的情況下嘗試相同的操作--skip。然後,如果您確實需要它,請go get按照 github 自述文件頁面中的說明進行安裝。

答案2

我使用 PyDrive 庫編寫了一個 Python 程式碼,它可以遞歸地檢索父資料夾內的子資料夾和檔案。然後,我使用檔案的 id 使用 wget 產生了一個 bash 腳本。

步驟1 我使用了 PyDrive 庫。要使用此庫,您必須完成本中所述的說明關聯

步驟 2 現在,在儲存「client_secrets.json」檔案的相同工作目錄中建立一個 python 腳本或筆記本。我在下面附上了筆記本。

https://gist.github.com/immuntasir/73b8e8eef7e6c9066aaf2432bebf7db0

步驟3 使用 scp,將“script.sh”複製到遠端伺服器。 scp ~/path/script.sh username@ip:path

步驟4 登入刪除伺服器,導航到該路徑。然後使用以下命令使腳本可執行。 chmod 777 script.sh 運行腳本,瞧! ./script.sh

我還寫了一個教程,可以在這裡找到:https://medium.com/@immuntasir/recursively-download-all-the-contents-of-a-google-drive-folder-using-python-wget-and-a-bash-script-d8f2c6b105d5

希望這可以幫助!

答案3

你的 fileId 位於你的資料夾的 url 位址上,你可以簡單地執行

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

相關內容