Tải xuống trực tiếp Google Drive cho các tệp lớn


13

Tôi đang thử trong Google Drive, làm thế nào bạn có thể liên kết trực tiếp đến "Tải xuống" tệp zip và không xem nội dung? Nhưng nó không hoạt động. Tôi không chắc chắn về cách lặp lại câu hỏi. Nó tải xuống một tệp 'quá lớn để có thể quét vi-rút' cảnh báo HTML và khi tôi dùng thử, https://drive.google.com/uc?export=download&confirm=no_antivirus&id=nó vẫn tải xuống tệp đó.

Chỉnh sửa: Tôi đã cố gắng wget --save-cookies /tmp/cookie.txt --load-cookies /tmp/cookie.txtvà lặp lại nó, vẫn không có xúc xắc.


1
Bạn đã bao giờ con số này ra? Chạy vào cùng một vấn đề với các tập tin lớn hơn.
Travis Reeder

Không, tôi đã từ bỏ việc này.
chx

Câu hỏi rất giống từ Stack Overflow, với câu trả lời hay: " wget / curl tệp lớn từ google drive "
tanius

Câu trả lời:


4

Một cookie phải khớp với tham số url "xác nhận" và nó được thay đổi trên mỗi cuộc gọi.

Đây là tập lệnh perl để tải xuống các tệp này theo cách không giám sát.

Với url từ trang cảnh báo quét chống vi-rút ( https://drive.google.com/uc?export=doad&confirm=s5vl&id=XXX ), mã này là đủ:

#!/usr/bin/perl
use strict;
my $TEMP='/tmp';my $COMMAND;my $confirm;
sub execute_command();
my $URL=shift;my $FILENAME=shift;
$FILENAME='gdown' if $FILENAME eq '';
execute_command();
if (-s $FILENAME < 100000) { # only if file isn't the download yet
    open fFILENAME, '<', $FILENAME;
    foreach (<fFILENAME>) {
        if (/confirm=([^;&]+)/) {
            $confirm=$1; last;   }    }
    close fFILENAME;
    $URL=~s/confirm=([^;&]+)/confirm=$confirm/;
    execute_command();    }
sub execute_command() {
    $COMMAND="wget --no-check-certificate --load-cookie $TEMP/cookie.txt --save-cookie $TEMP/cookie.txt \"$URL\"";
    $COMMAND.=" -O \"$FILENAME\"" if $FILENAME ne '';
    `$COMMAND`; return 1;    }

Tôi đã tạo một tập lệnh python và cookie của tôi khớp với tham số xác nhận trong url. Tuy nhiên, nó không hoạt động: Tôi đang được chuyển hướng đến một trang có tiêu đề "Đăng nhập - Tài khoản Google".
Benjamin Toueg

Benjamin: bạn có thể cần xử lý url hai lần ... hãy xem cách tập lệnh gọi exec_command () hai lần.
Circulmeos 7/03/2015

5

Sau khi trải qua vô số thời gian cố gắng để có được một liên kết tải xuống trực tiếp mà bỏ qua quá trình quét vi-rút, cuối cùng tôi đã tìm ra nó một cách tình cờ. Một URL ở định dạng bên dưới cùng với khóa Google API của bạn sẽ bỏ qua quá trình quét vi-rút. Tôi không thể tìm thấy tài liệu này ở bất cứ đâu ( đây là tài liệu chính thức ) vì vậy hãy tự chịu rủi ro khi các bản cập nhật trong tương lai có thể phá vỡ nó. https://www.googleapis.com/drive/v3/files/fileid/?key=yourapikey&alt=media


0

Hãy thử cái này

Bạn có thể tải các tệp này xuống máy tính của mình theo các định dạng sau:

For documents: HTML, RTF, Word, Open Office, PDF, Text file.
For spreadsheets: CSV, HTML, ODS, PDF, XLS, TXT (only for a single sheet)
For presentations: PDF, PPTX, TXT
For drawings: PNG, JPEG, SVG, PDF

Tải tệp xuống máy tính của bạn từ Google Drive

Click the checkbox(es) next to the item(s) that you'd like to download.
Expand the More drop-down menu, and select Download...
Select a file format to which you'd like convert and download your item, such as Microsoft Word. If you select multiple items, they'll be

nén thành tập tin .zip Nhấp vào Tải xuống.

Bạn cũng có thể tải xuống một tệp khi bạn đang xem tệp. Chuyển đến menu Tệp, trỏ chuột vào Tải xuống dưới dạng và chọn định dạng tệp.

Nếu tổng số tệp trên 2GB, tôi không nghĩ bạn sẽ có thể tải xuống mà không chia thành các đợt.


than ôi, đó là một tệp nhị phân :( không phải ở trên.
chx

0

Ok, Google sử dụng định dạng URL sau cho liên kết tải xuống cuối cùng:

https://drive.google.com/uc?export=download&confirm=s5vl&id=XXX

Lưu ý tham số xác nhận dường như thay đổi mỗi khi bạn đi đến liên kết ban đầu. Có lẽ đó là một mã thông báo ngắn hoặc kết hợp cookie hoặc một cái gì đó?


0

Tôi chỉ cần tạo một javascript để nó tự động nắm bắt liên kết và tải xuống và đóng tab với sự trợ giúp của tampermonkey .

// ==UserScript==
// @name         Bypass Google drive virus scan
// @namespace    SmartManoj
// @version      0.1
// @description  Quickly get the download link
// @author       SmartManoj
// @match        https://drive.google.com/uc?id=*&export=download*
// @grant        none
// ==/UserScript==

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

async function demo() {
    await sleep(5000);
    window.close();
}

(function() {
    location.replace(document.getElementById("uc-download-link").href);
    demo();
})();
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.