Làm cách nào để tải xuống một thư mục từ google drive bằng terminal?


59

Tôi muốn tải xuống một thư mục từ ổ đĩa google của tôi bằng cách sử dụng thiết bị đầu cuối? Có cách nào để làm điều đó? Tôi đã thử điều này:

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

Nhưng nó đang tải tập tin văn bản này : folderview?id=0B-Zc9K0k9q-WdEY5a1BCUDBaejQ&usp=sharing. Có cách nào để tải xuống thư mục google drive từ terminal không?



Tôi đã kiểm tra chúng nhưng chúng không thể xử lý bảng tính google. Khi tôi cần truy cập vào bảng tính và ocamlfusecó thể xử lý việc này, tôi đã nghĩ đến việc tải xuống chúng mọi lúc tôi cần chúng mặc dù thời gian đang quay trở lại với sự gắn kết. Nhưng tôi không có lựa chọn nào khác.
dùng22180

Đặt cài đặt thư mục thành "bất kỳ ai trên internet đều có thể tìm và xem", sau đó bạn sẽ có thể tải xuống tệp wget https://googledrive.com/host/file_idcho bạn wget https://googledrive.com/host/0B-Zc9K0k9q-WdEY5a1BCUDBaejQ. Giải pháp giải thích ở đây chi tiết hơn .
Paul Rougieux 11/05/2016

Bất kỳ câu trả lời mới cho điều này trong suốt thời gian trôi qua? chúng tôi có một lựa chọn dưới đây.
Matan

Câu trả lời:


48

Tôi đã có thể tải xuống một tệp chia sẻ công khai bằng lệnh này:

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

Trường hợp FILEIDphải được thay thế bằng ID tập tin thực tế. FILENAMElà đường dẫn / tên tệp nơi tải xuống sẽ được lưu trữ.

Lưu ý rằng bạn không thể sử dụng một thư mục thay vì fileid. Tôi đã sử dụng nguồn xem trong chế độ xem thư mục nơi tôi có thể tìm thấy HTML sau đây <div id="entry-0B0jxxycBojSwVW.... Chuỗi bắt đầu với 0Blà fileid.


4
Nó hiệu quả tuyệt vời đối với tôi! thay vào đó chỉ cần sử dụng drive.google.com
thouliha

kể từ khi tôi có một tệp lớn, tôi liên tục nhận được cảnh báo về trình quét vi-rút của google (rằng nó không thể quét). Tôi đã không tìm thấy một giải pháp cho vấn đề này. Tuy nhiên, tôi nhận ra rằng tôi chỉ có thể sử dụng scpđể chuyển tệp đến máy chủ của mình (có nhu cầu tải xuống như vậy)
Matthias

2
điều này không còn hoạt động nữa với google drive ...
loretoparisi

2
Điều này sẽ không làm việc cho các tập tin lớn hơn. Câu trả lời này trong stack overflow hoạt động như một bùa mê: stackoverflow.com/a/32742700/4773609
HG Sur

1
@HGSur Câu trả lời của tôi dưới đây cũng hoạt động đối với các tệp lớn.
FrankerZ

22

Đối với các tệp ổ đĩa google quá lớn và bạn nhận được thông báo lỗi "Google không thể cung cấp thông báo quét vi-rút", đây là giải pháp tôi đã sử dụng:

Trước tiên, hãy thử tải xuống tệp tại đây (làm theo các bước ở trên):

$ 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'

Tiếp theo, sau khi chúng tôi nhận được mã (Nó sẽ được xuất ra trang web và xuất ra bằng cách sử dụng sed ở trên), sử dụng URL sau:

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

Thêm vào -O FILENAMEcâu lệnh wget trước để chỉ định tên tệp, nếu bạn muốn ghi nó vào một tệp.


Công việc này như một cái duyên vậy! Nếu bạn thêm wget -content-disgetition sẽ tự động đặt tên cho tệp
Waleed Hamra

8

Một máy khách đa nền tảng mã nguồn mở mới hơn, được viết bằng Go được gọi là ổ đĩa khá đẹp và đầy đủ tính năng, và cũng đang được phát triển tích cực.

Ví dụ

Lệnh pull tải dữ liệu từ Google Drive không tồn tại cục bộ và xóa dữ liệu cục bộ không có trên Google Drive. Chạy nó mà không có bất kỳ đối số nào để kéo tất cả các tệp từ đường dẫn hiện tại:

$ drive pull

Kéo theo trận đấu cũng được hỗ trợ

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

Xem liên kết ở trên để biết thêm ví dụ, đây chỉ là phần nổi của tảng băng chìm.


1
Công cụ này không được duy trì kể từ tháng 9 năm 2017
Mateusz Konieczny

Có nhưng nó vẫn hoạt động và để tải xuống toàn bộ thư mục, đó là giải pháp tốt nhất : drive pull 'Colab Notebooks/sorted/models/resnet-101-90.9-max-acc'. Các phương pháp khác là một cơn đau ở mông.
Avio

7

wgetchỉ có thể xử lý các liên kết trực tiếp, nhưng đó không phải là vấn đề chính ở đây. Google Drive mong bạn xác thực trước khi tải xuống tệp của mình. Điều này có nghĩa là bạn sẽ phải sử dụng trình duyệt web để tải xuống tệp. Có một vài trình duyệt web cho thiết bị đầu cuối, lynx là một ví dụ.

Nếu bạn chọn chia sẻ công khai tệp của mình (để mọi người có thể tải xuống), bạn có thể sử dụng một trong nhiều dịch vụ permalink của Google Drive. Tôi tin rằng những thứ này sẽ tạo ra các liên kết sẽ hoạt động với wget. Đây là danh sách hai cái tôi tìm thấy khi tìm kiếm thông tin: http://gdriveurl.com/ http://gdurl.com/

Giả sử bạn đang chạy Linux, có một ứng dụng khách nguồn mở cho Google Drive có thể đáng để xem xét.


lynx đang hiển thị "chuyển hướng" trong hơn 5 phút khi cố gắng truy cập ổ đĩa. "Google Drive permalink" vẫn ổn, nhưng tôi không muốn chia sẻ nó với mọi người. Tôi đã sử dụng GriveOcamlfusehọ không thể truy cập bảng tính
user2180

Xác nhận liên kết "tải xuống" từ gdriveurl đã hoạt động với wget
Randall

liên quan đến đề xuất ứng dụng khách nguồn mở: từ trải nghiệm của tôi khi sử dụng máy khách gdrive đó và một tiện ích tương tự có tên là rclone, tôi đã có trải nghiệm tốt hơn với rclone.
7yl4r

7

Có một chương trình khổng lồ trong kho lưu trữ ubfox 17.04 có tên: rclone

$ sudo apt update && sudo apt install rclone

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

bây giờ bạn có thể sao chép lại và đồng bộ hóa mọi thứ bạn muốn. Các dự án hỗ trợ tất cả các loại mây ..

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

[1]: https://rclone.org

.

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

)


5

bạn có thể thử, nếu bạn đang ở trên firefox, hãy cài đặt addon cliget. Đối với mỗi tệp mà bạn muốn tải xuống chương trình hiển thị cho bạn liên kết trực tiếp curl, wget hoặc aria2 để tải xuống tệp đó. Tôi sử dụng điều đó để tải xuống các tệp trên các máy khác thông qua ssh vì tôi tải trực tiếp xuống máy tính từ xa nhanh hơn nhiều để tải tệp đó từ máy tính của tôi. Điều này cũng hoạt động với dropbox, gdrive, vv


5

Bạn có thể sử dụng công cụ dòng lệnh Linux / Unix mã nguồn mở gdrive.

Để cài đặt nó:

  1. Tải về nhị phân. Chọn một trong những phù hợp với kiến ​​trúc của bạn, ví dụgdrive-linux-x64.

  2. Sao chép nó vào đường dẫn của bạn.

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

Để dùng nó:

  1. Xác định ID thư mục Google Drive. Vì thế, hãy vào trong thư mục để tải xuống, sử dụng ứng dụng web drive.google.com. Bây giờ hãy nhìn vào URL trong thanh địa chỉ của trình duyệt, nó sẽ hiển thị một cái gì đó như https://drive.google.com/drive/folders/0B7_OwkDsUIgFWXA1B2FPQfV5S8H. Lấy chuỗi phía sau cuối cùng /và sao chép nó vào clipboard của bạn. Đó là ID của thư mục.

  2. Tải về thư mục. Tất nhiên, sử dụng ID thư mục của bạn thay vì trong lệnh sau.

    gdrive download --recursive 0B7_OwkDsUIgFWXA1B2FPQfV5S8H
    

Ở lần sử dụng đầu tiên, công cụ sẽ cần có được quyền truy cập vào API Google Drive. Do đó, nó sẽ hiển thị cho bạn một liên kết mà bạn phải truy cập trong trình duyệt và sau đó bạn sẽ nhận được mã xác minh để sao chép và dán lại vào công cụ. Việc tải xuống sau đó bắt đầu tự động. Không có chỉ báo tiến trình, nhưng bạn có thể quan sát tiến trình trong trình quản lý tệp hoặc thiết bị đầu cuối thứ hai.

Nguồn: Một bình luận của Tobi trong câu hỏi stackoverflow.com. Câu trả lời thích nghi từ câu trả lời tương tự của tôi ở đó .


4

Tải về nhị phân từ liên kết dưới đây

chmod +x <binary>
./drive download id

Nó sẽ tạo liên kết cho mã xác minh. Nhấp vào liên kết và cho phép truy cập vào gdrive và sao chép mã xác minh từ trình duyệt. Dán nó.

Nó làm việc cho tôi

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.