我试图在脚本中从谷歌驱动器下载一个文件,我这样做有点麻烦。我要下载的文件在这里。
我在网上搜了很多,终于下载了其中一个。我得到了文件的uid,较小的文件(1.6MB)下载正常,但较大的文件(3.7GB)总是重定向到一个页面,询问我是否想在不进行病毒扫描的情况下继续下载。谁能帮我跳过那个屏幕?
下面是我如何让第一个文件工作-
curl -L "https://docs.google.com/uc?export=download&id=0Bz-w5tutuZIYeDU0VDRFWG9IVUE" > phlat-1.0.tar.gz
当我对另一个文件进行同样操作时,
curl -L "https://docs.google.com/uc?export=download&id=0Bz-w5tutuZIYY3h5YlMzTjhnbGM" > index4phlat.tar.gz
我得到以下输出-
我注意到在链接的第三行到最后一行,有一个&confirm=JwkK,这是一个随机的4个字符的字符串,但建议有一种方法添加到我的URL确认。我访问的一个链接建议&confirm=no_antivirus,但这不起作用。
我希望这里有人能帮忙!
Skicka是一个cli工具,用于从谷歌硬盘上传、下载访问文件。
的例子,
skicka download /Pictures/2014 ~/Pictures.copy/2014
10 / 10 [=====================================================] 100.00 %
skicka: preparation time 1s, sync time 6s
skicka: updated 0 Drive files, 10 local files
skicka: 0 B read from disk, 16.18 MiB written to disk
skicka: 0 B uploaded (0 B/s), 16.18 MiB downloaded (2.33 MiB/s)
skicka: 50.23 MiB peak memory used
2022年6月
你可以用gdown。也可以考虑访问该页面以获得完整的说明;这只是一个总结,源回购可能有更多最新的说明。
指令
使用以下命令安装:
pip install gdown
在此之后,您可以通过运行以下命令之一从谷歌驱动器下载任何文件:
gdown https://drive.google.com/uc?id=<file_id> # for files
gdown <file_id> # alternative format
gdown --folder https://drive.google.com/drive/folders/<file_id> # for folders
gdown --folder --id <file_id> # this format works for folders too
示例:从该目录下载自述文件
gdown https://drive.google.com/uc?id=0B7EVK8r0v71pOXBhSUdJWU1MYUk
file_id应该类似于0Bz8a_Dbh9QhbNU3SGlFaDg。您可以通过右键单击感兴趣的文件并选择Get link来找到这个ID。自2021年11月起,该链接的形式为:
# Files
https://drive.google.com/file/d/<file_id>/view?usp=sharing
# Folders
https://drive.google.com/drive/folders/<file_id>
警告
只对开放文件有效。(“任何有链接的人都可以查看”)
不能下载超过50个文件到一个文件夹。
如果您可以访问源文件,您可以考虑使用tar/zip将其变成一个单独的文件来解决这个限制。
在弄了这些垃圾之后。我找到了一种方法来下载我的甜蜜文件使用chrome开发工具。
At your google docs tab, Ctr+Shift+J (Setting --> Developer tools)
Switch to Network tabs
At your docs file, click "Download" --> Download as CSV, xlsx,....
It will show you the request in the "Network" console
Right click -> Copy -> Copy as Curl
Your Curl command will be like this, and add -o to create a exported file.
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
解决了!
无脚本方法获得直接链接
我知道一些没有bash脚本编写经验的人正在从其他网站来到这篇文章。这是一个在浏览器中完成的解决方案。
步骤1:通常使用现有工具生成直接链接
首先,您使用所有其他现有的解决方案从您的共享链接生成一个直接链接。您可以使用https://sites.google.com/site/gdocs2direct/, https://www.wonderplugin.com/online-tools/google-drive-direct-link-generator/或https://chrome.google.com/webstore/detail/drive-direct-download/mpfdlhhpbhgghplbambikplcfpbjiail。
我将忽略这部分。
生成的直接链接如下所示:https://drive.google.com/u/0/uc?id=1Gjvcfj-8xxxxxxx8G8_jpgjcyorQ7BX5&export=download
直接链接适用于大多数小文件,但不适用于大文件。它将显示病毒警告,而不是简单地下载文件。现在我们来解决这个问题。
步骤2:修复断开的直接链接以解决病毒警告
在浏览器中打开断开的“直接”链接,您将看到“谷歌驱动器无法扫描此文件的病毒”。现在右键单击并查看页面源代码,您将看到以下文本:
<form id="downloadForm" action="https://drive.google.com/u/0/uc?id=1Gjvcfj-8xxxxxxx8G8_jpgjcyorQ7BX5&export=download&confirm=t&uuid=5a0dd46b-521e-4ae7-8b41-0912e88b7782" method="post">
你已经找到了最后的链接!替换所有&去&并享受:
https://drive.google.com/uc?id=1Gjvcfj-8xxxxxxx8G8_jpgjcyorQ7BX5&export=download&confirm=t&uuid=c953a94e-b844-479f-8386-1ec83770fffb
大文件的其他解决方案:谷歌驱动器API
这个解决方案已经有了一个很好的答案!