Saya mencoba mengunduh file dari google drive dalam sebuah skrip, dan saya mengalami sedikit kesulitan untuk melakukannya. File yang saya coba unduh ada di sini .
Saya sudah mencari online secara luas dan akhirnya saya berhasil mendapatkan salah satu dari mereka untuk diunduh. Saya mendapatkan UID dari file dan unduhan yang lebih kecil (1.6MB) baik-baik saja, namun file yang lebih besar (3.7GB) selalu dialihkan ke halaman yang menanyakan apakah saya ingin melanjutkan unduhan tanpa scan virus. Bisakah seseorang membantu saya melewati layar itu?
Inilah cara saya membuat file pertama berfungsi -
curl -L "https://docs.google.com/uc?export=download&id=0Bz-w5tutuZIYeDU0VDRFWG9IVUE" > phlat-1.0.tar.gz
Ketika saya menjalankan hal yang sama di file lain,
curl -L "https://docs.google.com/uc?export=download&id=0Bz-w5tutuZIYY3h5YlMzTjhnbGM" > index4phlat.tar.gz
Saya mendapatkan output berikut -
Saya perhatikan pada baris ketiga hingga terakhir di tautan, ada &confirm=JwkK
yang merupakan string 4 karakter acak tetapi menyarankan ada cara untuk menambahkan konfirmasi ke URL saya. Salah satu tautan yang saya kunjungi menyarankan&confirm=no_antivirus
tetapi itu tidak berfungsi.
Saya harap seseorang di sini dapat membantu dengan ini!
curl script
Anda gunakan untuk mengunduhgoogle drive
karena saya tidak dapat mengunduh file (gambar) yang berfungsi dari skrip inicurl -u username:pass https://drive.google.com/open?id=0B0QQY4sFRhIDRk1LN3g2TjBIRU0 >image.jpg
gdown.pl https://drive.google.com/uc?export=download&confirm=yAjx&id=0Bz-w5tutuZIYY3h5YlMzTjhnbGM index4phlat.tar.gz
Jawaban:
PERINGATAN : Fungsi ini sudah usang. Lihat peringatan di bawah ini dalam komentar.
Lihat pertanyaan ini: Unduhan langsung dari Google Drive menggunakan Google Drive API
Pada dasarnya Anda harus membuat direktori publik dan mengakses file Anda dengan referensi relatif dengan sesuatu seperti
Atau, Anda dapat menggunakan skrip ini: https://github.com/circulosmeos/gdown.pl
sumber
export=download
sehingga harus baik untuk masa mendatang kecuali Google mengubah skema URLJuni 2020
pip install gdown
The
file_id
harus terlihat seperti 0Bz8a_Dbh9QhbNU3SGlFaDgAnda bisa mendapatkannya dengan mengklik kanan pada file dan kemudian Dapatkan tautan yang dapat dibagikan. Hanya bekerja pada file akses terbuka (Siapa pun yang memiliki tautan dapat melihat). Tidak berfungsi untuk direktori. Diuji di Google Colab. Berfungsi paling baik pada pengunduhan file. Gunakan tar / zip untuk menjadikannya file tunggal.
Contoh: untuk mengunduh file readme dari direktori ini
sumber
export=download&
darigdown https://drive.google.com/uc?export=download&id=your_file_id
dan itu berfungsi seperti pesonaSaya menulis cuplikan Python yang mengunduh file dari Google Drive, diberi tautan yang dapat dibagikan . Ini berfungsi, mulai Agustus 2017 .
Cuplikan tidak menggunakan gdrive , atau Google Drive API. Ini menggunakan modul permintaan .
Saat mengunduh file besar dari Google Drive, satu permintaan GET tidak cukup. Yang kedua diperlukan, dan yang ini memiliki parameter URL tambahan yang disebut konfirmasi , yang nilainya harus sama dengan nilai cookie tertentu.
sumber
python snippet.py file_id destination
. Apakah ini cara yang benar untuk menjalankannya? Karena jika tujuan adalah folder, saya dilempar kesalahan. Jika saya membuat file yang sulit dan saya menggunakannya sebagai tujuan snippet tampaknya berfungsi dengan baik tetapi kemudian tidak melakukan apa-apa.$ python snippet.py your_google_file_id /your/full/path/and/filename.xlsx
bekerja untuk saya. dalam hal itu tidak berfungsi, apakah Anda memiliki out put disediakan? apakah ada file yang dibuat?Anda dapat menggunakan alat baris perintah Linux / Unix open source
gdrive
.Untuk menginstalnya:
Unduh binernya. Pilih salah satu yang sesuai dengan arsitektur Anda, misalnya
gdrive-linux-x64
.Salin ke jalur Anda.
Untuk menggunakannya:
Tentukan ID file Google Drive. Untuk itu, klik kanan file yang diinginkan di situs web Google Drive dan pilih "Dapatkan Tautan ...". Ini akan mengembalikan sesuatu seperti
https://drive.google.com/open?id=0B7_OwkDsUIgFWXA1B2FPQfV5S8H
. Dapatkan string di belakang?id=
dan salin ke clipboard Anda. Itu ID file.Unduh file. Tentu saja, gunakan ID file Anda sebagai gantinya dalam perintah berikut.
Pada penggunaan pertama, alat ini perlu mendapatkan izin akses ke Google Drive API. Untuk itu, ia akan menunjukkan kepada Anda tautan yang harus Anda kunjungi di peramban, dan kemudian Anda akan mendapatkan kode verifikasi untuk menyalin & menempel kembali ke alat. Pengunduhan kemudian dimulai secara otomatis. Tidak ada indikator progres, tetapi Anda dapat mengamati progres dalam manajer file atau terminal kedua.
Sumber: Komentar Tobi tentang jawaban lain di sini.
Trik tambahan: pembatasan tingkat. Untuk mengunduh dengan
gdrive
kecepatan maksimum terbatas (untuk tidak membanjiri jaringan ...), Anda dapat menggunakan perintah seperti ini (pv
adalah PipeViewer ):Ini akan menunjukkan jumlah data yang diunduh (
-b
) dan laju pengunduhan (-r
) dan membatasi laju itu hingga 90 kiB / s (-L 90k
).sumber
Bagaimana cara kerjanya?
Dapatkan file cookie dan kode html dengan curl.
Pipa html ke grep dan sed dan cari nama file.
Dapatkan kode konfirmasi dari file cookie dengan awk.
Akhirnya unduh file dengan cookie diaktifkan, konfirmasi kode dan nama file.
Jika Anda tidak perlu variabel nama file, dapat menebaknya
-L Ikuti pengalihan
-O Remote-nama
-J Remote-header-nama
Untuk mengekstrak ID file Google dari URL, Anda dapat menggunakan:
ATAU
sumber
--insecure
opsi ke kedua permintaan ikal untuk membuatnya berfungsi.Pembaruan pada Maret 2018.
Saya mencoba berbagai teknik yang diberikan dalam jawaban lain untuk mengunduh file saya (6 GB) langsung dari Google drive ke AWS ec2 saya contoh tetapi tidak satupun dari mereka bekerja (mungkin karena mereka sudah tua).
Jadi, untuk informasi orang lain, inilah cara saya melakukannya dengan sukses:
https://drive.google.com/file/d/FILEIDENTIFIER/view?usp=sharing
Salin skrip di bawah ini ke file. Ini menggunakan ikal dan proses cookie untuk mengotomatiskan pengunduhan file.
Seperti yang ditunjukkan di atas, rekatkan FILEIDENTIFIER dalam skrip. Ingatlah untuk menyimpan tanda kutip ganda!
myfile.zip
).sudo chmod +x download-gdrive.sh
.PS: Berikut adalah inti Github untuk skrip yang diberikan di atas: https://gist.github.com/amit-chahar/db49ce64f46367325293e4cce13d2424
sumber
-c
dengan--save-cookies
dan-b
dengan--load-cookies
"
tanda kutip di${filename}
baris terakhir../download-gdrive.sh" Do not be like me and try to run the script by typing
download-gdrive.sh, the
. / `Tampaknya wajib.Inilah cara cepat untuk melakukan ini.
Pastikan tautan dibagikan, dan akan terlihat seperti ini:
https://drive.google.com/open?id=FILEID&authuser=0
Kemudian, salin FILEID itu dan gunakan seperti ini
sumber
wget 'https://docs.google.com/uc?export=download&id=SECRET_ID' -O 'filename.pdf'
-r
benderawget
. Begitulahwget --no-check-certificate -r 'https://docs.google.com/uc?export=download&id=FILE_ID' -O 'filename'
Perilaku default google drive adalah untuk memindai file untuk virus jika file terlalu besar itu akan meminta pengguna dan memberi tahu dia bahwa file tersebut tidak dapat dipindai.
Saat ini satu-satunya solusi yang saya temukan adalah berbagi file dengan web dan membuat sumber daya web.
Kutipan dari halaman bantuan google drive:
Dengan Drive, Anda dapat membuat sumber daya web - seperti file HTML, CSS, dan Javascript - dapat dilihat sebagai situs web.
Untuk meng-host halaman web dengan Drive:
Ditemukan di sini: https://support.google.com/drive/answer/2881970?hl=id
Jadi misalnya ketika Anda membagikan file di google drive ke publik sharelink terlihat seperti ini:
Lalu Anda menyalin id file dan membuat tautan googledrive.com yang terlihat seperti ini:
sumber
Cara mudah:
(jika Anda hanya perlu mengunduh sekali saja)
Anda harus berakhir dengan sesuatu seperti:
Lekatkan di konsol Anda, tambahkan
> my-file-name.extension
sampai akhir (jika tidak akan menulis file ke konsol Anda), lalu tekan enter :)sumber
Berdasarkan jawaban dari Roshan Sethia
Mei 2018
Menggunakan WGET :
Buat skrip shell bernama wgetgdrive.sh seperti di bawah ini:
Berikan izin yang tepat untuk menjalankan skrip
Di terminal, jalankan:
sebagai contoh:
sumber
chmod 770 wgetgdrive.sh
--DUNGSI--
Untuk mengunduh file, pertama-tama dapatkan
youtube-dl
python dari sini:youtube-dl: https://rg3.github.io/youtube-dl/download.html
atau pasang dengan
pip
:MEMPERBARUI:
Saya baru tahu ini:
Klik kanan pada file yang ingin Anda unduh dari drive.google.com
Klik
Get Sharable link
Hidupkan
Link sharing on
Klik
Sharing settings
Klik pada dropdown atas untuk opsi
Klik Lebih Banyak
Pilih
[x] On - Anyone with a link
Salin tautan
Salin id setelah
https://drive.google.com/file/d/
:Rekatkan ini ke baris perintah:
Rekatkan id di belakang
open?id=
Semoga ini bisa membantu
sumber
Tidak ada jawaban yang mengusulkan apa yang berfungsi untuk saya pada Desember 2016 ( sumber ):
asalkan file Google Drive telah dibagikan dengan mereka yang memiliki tautan dan
{FileID}
merupakan string?id=
di belakang dalam URL bersama.Meskipun saya tidak memeriksa dengan file besar, saya percaya itu mungkin berguna untuk diketahui.
sumber
curl -L -o {filename} https://drive.google.com/uc?id={FileID}
bekerja untuk saya, terima kasih!Cara termudah adalah:
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=FILEID' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=FILEID" -O FILENAME && rm -rf /tmp/cookies.txt
sumber
Jawaban di atas sudah kedaluwarsa untuk April 2020, karena google drive sekarang menggunakan redirect ke lokasi sebenarnya file.
Bekerja pada April 2020 di macOS 10.15.4 untuk dokumen publik:
sumber
download-google-2
bekerja untukku. File saya berukuran 3G. Terima kasih @ danieltan95download-google-2
ikal terakhir untuk inicurl -L -b .tmp/$1cookies -C - "https://drive.google.com/uc?export=download&confirm=$code&id=$1" -o $2;
dan sekarang dapat melanjutkan pengunduhan.Saya memiliki masalah yang sama dengan Google Drive.
Inilah cara saya memecahkan masalah menggunakan Links 2 .
Buka browser di PC Anda, navigasikan ke file Anda di Google Drive. Berikan tautan publik file Anda.
Salin tautan publik ke clipboard Anda (mis. Klik kanan, Salin alamat tautan)
Buka Terminal. Jika Anda mengunduh ke PC / server / mesin lain, Anda harus menggunakan SSH sebagai titik ini
Instal Tautan 2 (metode debian / ubuntu, gunakan distro Anda atau yang setara dengan OS)
sudo apt-get install links2
Tempel tautan ke terminal Anda dan buka dengan Tautan seperti:
links2 "paste url here"
Arahkan ke tautan unduhan dalam Tautan menggunakan Tombol Panah Anda dan tekan Enter
Pilih nama file dan itu akan mengunduh file Anda
sumber
Links
benar-benar berhasil! Dan itu jauh lebih baik daripadaw3m
Gunakan youtube-dl !
youtube-dl https://drive.google.com/open?id=ABCDEFG1234567890
Anda juga dapat lulus
--get-url
untuk mendapatkan URL unduhan langsung.sumber
youtube-dl https://drive.google.com/open?id=ABCDEFG1234567890aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [GoogleDrive] ABCDEFG1234567890aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: Downloading webpage
. mungkin Anda memiliki versi kedaluwarsayoutube-dl
atau format tautannya tidak dikenali karena suatu alasan ... Coba gunakan format di atas untuk mengganti id dengan id file dari URL asli AndaSaya telah menggunakan cuplikan ikal dari @ Amit Chahar yang memposting jawaban yang baik di utas ini. Saya merasa berguna untuk meletakkannya di fungsi bash daripada
.sh
file yang terpisahyang dapat dimasukkan dalam misalnya a
~/.bashrc
(setelah sumbernya tentu saja jika tidak bersumber secara otomatis) dan digunakan dengan cara berikutsumber
Ada klien multi-platform open-source, yang ditulis dalam Go: drive . Ini cukup bagus dan berfitur lengkap, dan juga sedang dalam pengembangan aktif.
sumber
Semua jawaban di atas tampaknya mengaburkan kesederhanaan jawaban atau memiliki nuansa yang tidak dijelaskan.
Jika file dibagikan secara publik, Anda dapat membuat tautan unduhan langsung dengan hanya mengetahui ID file. URL harus dalam bentuk " https://drive.google.com/uc?id=[FILEID[&export=download " Ini berfungsi mulai 11-22-2019. Ini tidak mengharuskan penerima untuk masuk ke google tetapi memang membutuhkan file untuk dibagikan secara publik.
Di browser Anda, navigasikan ke drive.google.com.
Klik kanan pada file tersebut, dan klik "Dapatkan tautan yang dapat dibagikan"
Edit URL sehingga berada dalam format berikut, ganti "[FILEID]" dengan ID file yang Anda bagikan:
https://drive.google.com/uc?id=[FILEID[&export=download
Itu tautan unduhan langsung Anda. Jika Anda mengekliknya di browser, file sekarang akan "didorong" ke browser Anda, membuka dialog unduhan, memungkinkan Anda untuk menyimpan atau membuka file. Anda juga dapat menggunakan tautan ini dalam skrip unduhan Anda.
Jadi perintah curl yang setara adalah:
sumber
Google Drive can't scan this file for viruses. <filename> is too large for Google to scan for viruses. Would you still like to download this file?
Saya tidak dapat membuat skrip perl Nanoix berfungsi, atau contoh ikal lainnya yang telah saya lihat, jadi saya mulai mencari ke dalam api sendiri dengan python. Ini berfungsi baik untuk file kecil, tetapi file besar tersendat melewati ram yang tersedia jadi saya menemukan beberapa kode chunking bagus yang menggunakan kemampuan api untuk mengunduh sebagian. Intinya di sini: https://gist.github.com/csik/c4c90987224150e4a0b2
Perhatikan sedikit tentang mengunduh file json client_secret dari antarmuka API ke direktori lokal Anda.
Sumbersumber
Ini skrip bash kecil yang saya tulis yang berfungsi hari ini. Ini berfungsi pada file besar dan dapat melanjutkan file yang diambil sebagian juga. Dibutuhkan dua argumen, yang pertama adalah file_id dan yang kedua adalah nama file output. Perbaikan utama atas jawaban sebelumnya di sini adalah bahwa ia bekerja pada file besar dan hanya membutuhkan alat yang tersedia secara umum: bash, curl, tr, grep, du, cut dan mv.
sumber
Ini berfungsi pada Nov 2017 https://gist.github.com/ppetraki/258ea8240041e19ab258a736781f06db
sumber
Setelah dipusingkan dengan sampah ini. Saya telah menemukan cara untuk mengunduh file manis saya dengan menggunakan alat pengembang-krom.
Ini akan menunjukkan kepada Anda permintaan di konsol "Jaringan"
Klik kanan -> Salin -> Salin sebagai Curl
-o
untuk membuat file yang diekspor.curl 'https://docs.google.com/spreadsheets/d/1Cjsryejgn29BDiInOrGZWvg/export?format=xlsx&id=1Cjsryejgn29BDiInOrGZWvg' -H 'authority: docs.google.com' -H 'upgrade-insecure-requests: 1' -H 'user-agent: Mozilla/5.0 (X..... -o server.xlsx
Terpecahkan!
sumber
Ini adalah solusi yang saya gunakan untuk mengunduh file dari Google Drive ke shell Google Cloud Linux saya.
googledrive.com/host/[ID]
wget https://googledrive.com/host/[ID]
mv [ID] 1.zip
unzip 1.zip
kami akan mendapatkan file.
sumber
Saya menemukan solusi untuk ini ... Cukup gunakan yang berikut ini
sumber
Ada cara yang lebih mudah.
Instal cliget / CURLWGET dari ekstensi firefox / chrome.
Unduh file dari browser. Ini menciptakan tautan ikal / wget yang mengingat cookie dan header yang digunakan saat mengunduh file. Gunakan perintah ini dari shell apa saja untuk mengunduh
sumber
cara mudah untuk down file dari google drive Anda juga dapat mengunduh file di colab
Kemudian
atau
Dokumen https://pypi.org/project/gdown/
sumber
Mei 2018 BEKERJA
Hai berdasarkan komentar ini ... saya membuat bash untuk mengekspor daftar URL dari file URLS.txt ke URLS_DECODED.txt yang digunakan dalam beberapa akselerator seperti flashget (saya menggunakan cygwin untuk menggabungkan windows & linux)
Command spider diperkenalkan untuk menghindari unduhan dan mendapatkan tautan akhir (langsung)
Command GREP HEAD dan CUT, proses dan dapatkan tautan terakhir, Berbasis di bahasa Spanyol, mungkin Anda bisa port ke Bahasa Inggris BAHASA
echo -e "$URL_TO_DOWNLOAD\r"
mungkin \ r hanya cywin dan harus diganti dengan \ n (break line)**********user***********
adalah folder pengguna*******Localización***********
adalah dalam bahasa spanyol, bersihkan asterik dan biarkan kata dalam Bahasa Inggris Lokasi dan sesuaikan angka KEPALA dan CUT untuk pendekatan yang tepat.sumber
Anda hanya perlu menggunakan wget dengan:
PD File harus publik.
sumber
skicka adalah alat cli untuk mengunggah, mengunduh file akses dari google-drive.
contoh -
sumber