Google Drive ดาวน์โหลดโดยตรงสำหรับไฟล์ขนาดใหญ่


14

ฉันลองใช้ Google ไดรฟ์คุณจะลิงก์ไปยัง "ดาวน์โหลด" ไฟล์ซิปได้โดยตรงและไม่ดูเนื้อหาได้อย่างไร แต่มันไม่ทำงาน ฉันไม่แน่ใจเกี่ยวกับวิธีการทำซ้ำคำถาม มันดาวน์โหลดไฟล์ 'มีขนาดใหญ่เกินกว่าที่จะสแกนไวรัส' เตือน HTML และเมื่อฉันลองใช้https://drive.google.com/uc?export=download&confirm=no_antivirus&id=มันก็ยังดาวน์โหลดอยู่

แก้ไข: ฉันพยายามwget --save-cookies /tmp/cookie.txt --load-cookies /tmp/cookie.txtทำซ้ำ แต่ก็ยังไม่มีลูกเต๋า


1
คุณเคยคิดเรื่องนี้ไหม? พบปัญหาเดียวกันกับไฟล์ที่ใหญ่กว่า
Travis Reeder

ไม่ฉันยอมแพ้ต่อสิ่งนี้
chx

คำถามที่คล้ายกันมากจาก Stack Overflow พร้อมคำตอบที่ดี: " wget / curl ไฟล์ขนาดใหญ่จากไดรฟ์ของ Google "
4154

คำตอบ:


4

คุกกี้จะต้องตรงกับพารามิเตอร์ "ยืนยัน" และจะมีการเปลี่ยนแปลงในการโทรแต่ละครั้ง

ต่อไปนี้เป็นสคริปต์ Perl เพื่อดาวน์โหลดไฟล์เหล่านี้ในแบบไม่ต้องใส่ข้อมูล

ด้วย url จากหน้าคำเตือนการสแกนไวรัส ( https://drive.google.com/uc?export=download&confirm=s5vl&id=XXX ) รหัสนี้ควรเพียงพอ:

#!/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;    }

ฉันสร้างสคริปต์หลามและคุกกี้ของฉันตรงกับพารามิเตอร์ยืนยันใน URL อย่างไรก็ตามมันใช้งานไม่ได้: ฉันกำลังถูกเปลี่ยนเส้นทางไปยังหน้าชื่อ "ลงชื่อเข้าใช้ - บัญชี Google"
Benjamin Toueg

Benjamin: คุณอาจต้องประมวลผล url สองครั้ง ... ดูวิธีที่สคริปต์เรียกใช้ execute_command () สองครั้ง
circulosmeos

6

หลังจากใช้เวลาหลายชั่วโมงนับไม่ถ้วนในการพยายามรับลิงค์ดาวน์โหลดโดยตรงที่ผ่านการสแกนไวรัสในที่สุดฉันก็พบว่ามันเกิดขึ้นโดยบังเอิญ URL ในรูปแบบด้านล่างพร้อมกับคีย์ Google API ของคุณจะข้ามการสแกนไวรัส ฉันไม่สามารถหาเอกสารนี้ได้ทุกที่ ( นี่คือเอกสารอย่างเป็นทางการ ) ดังนั้นใช้ความเสี่ยงของคุณเองเพราะการปรับปรุงในอนาคตอาจทำลายมัน https://www.googleapis.com/drive/v3/files/fileid/?key=yourapikey&alt=media


0

ลองสิ่งนี้

คุณสามารถดาวน์โหลดไฟล์เหล่านี้ไปยังคอมพิวเตอร์ของคุณในรูปแบบต่อไปนี้:

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

ดาวน์โหลดไฟล์ไปยังคอมพิวเตอร์ของคุณจาก 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

บีบอัดเป็นไฟล์. zip คลิกดาวน์โหลด

คุณยังสามารถดาวน์โหลดไฟล์ได้เมื่อคุณดูไฟล์ ไปที่เมนูไฟล์ชี้เมาส์ของคุณเพื่อดาวน์โหลดเป็นและเลือกรูปแบบไฟล์

หากไฟล์รวมเกิน 2GB ฉันไม่คิดว่าคุณจะสามารถดาวน์โหลดได้โดยไม่ต้องแบ่งเป็นแบตช์


อนิจจามันเป็นไฟล์ไบนารี :( ทั้งสองอย่างข้างต้น
chx

0

ตกลง Google ใช้รูปแบบ URL ต่อไปนี้สำหรับลิงก์ดาวน์โหลดสุดท้าย:

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

สังเกตพารามิเตอร์ยืนยันที่ดูเหมือนว่าจะเปลี่ยนทุกครั้งที่คุณไปที่ลิงค์เดิม อาจเป็นโทเค็นอายุสั้น ๆ หรือการจับคู่คุกกี้หรืออะไรบางอย่าง?


0

ฉันเพียงสร้างจาวาสคริปต์เพื่อให้จับลิงค์และดาวน์โหลดโดยอัตโนมัติและปิดแท็บด้วยความช่วยเหลือของปุ่มแก้ไข

// ==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();
})();
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.