使用 wget 从谷歌驱动器下载文件
Posted
技术标签:
【中文标题】使用 wget 从谷歌驱动器下载文件【英文标题】:Download a file from google drive using wget 【发布时间】:2016-09-24 01:03:17 【问题描述】:我想将在这个地址可以查看的文件下载到 linux 远程:
https://drive.google.com/file/d/0Bz7KyqmuGsilT0J5dmRCM0ROVHc/view?usp=sharing
我希望我可以通过 wget
做到这一点。
我试过了
wget https://drive.google.com/file/d/0Bz7KyqmuGsilT0J5dmRCM0ROVHc/vgg16_weights.h5
响应是 404。
是否可以wget
谷歌驱动文件?如果是这样,提供的途径是什么?如果没有,是否有任何替代方案(bash 或其他),这样我就可以避免将文件下载到本地并将其传输到远程?
【问题讨论】:
阅读这个早期答案***.com/a/25033499/2666859 其他人的信息,您可以在这里使用 CURL 看到我的答案(2018 年 3 月更新):***.com/a/49444877/4043524 wget/curl large file from google drive的可能重复 【参考方案1】:将您的文件 ID 插入此 URL (https://drive.google.com/uc?export=download&id=
),然后用引号将 URL 括起来,这样 Bash 就不会误解 &
,如下所示:
wget "https://drive.google.com/uc?export=download&id=0Bz7KyqmuGsilT0J5dmRCM0ROVHc"
参考here。
【讨论】:
如果文件很大,Google 云端硬盘会添加安全警告。然后给定的解决方案不再起作用。有人对此有解决方案吗? 对于那些使用curl
的人,上述方法也可以使用,例如:curl -L -o file.out 'https://drive.google.com/uc?export=download&id=0Bz7KyqmuGsilT0J5dmRCM0ROVHc'
。请注意,跟踪 Google 的重定向需要 -L
命令行选项。
不再适用于小文件。给我一个 404
@yazfield 试试这个脚本:id=$(echo $1 | cut -d "=" -f2) url=$(echo "https://drive.google.com/uc?export=download&id="$id) wget "$url" -O $2
并使用原始驱动器链接(不是 ID,而是完整的 URL)加上输出文件名运行。
当文件出现此警告“超出 Google 可以扫描的最大大小。您仍要下载此文件吗?”时不起作用例如:drive.google.com/a/broadinstitute.org/…【参考方案2】:
我发现的最短路径下载大文件:
git clone https://github.com/chentinghao/download_google_drive.git
cd download_google_drive/
python download_gdrive.py FILE_ID DESTINATION_PATH
仅查看权限,需要 FILE_ID 和 DESTINATION_PATH(指定文件名)。截至 2019 年 11 月 12 日,它现在正在工作,并且一直是 for more than a year。
另一个解决方案是googleapiclient。它使您能够自动下载/上传具有其 id 的私有文件。
注意:还要确保该文件是公开共享的,而不是与群组或组织内部共享
【讨论】:
它在 2021 年 7 月有效,应该添加上述示例,因为它会使事情更清楚。我对 DESTINATION_PATH 感到困惑我只是添加了路径而不是 file.extension【参考方案3】:首先,点击右上角的分享按钮,将权限设置为allow anyone with the link can view
。
点击左侧角文件->下载为->PDF文档(.pdf),开始通过浏览器下载。
在下载器中找到网址,chrome在chrome://downloads/
。
我写这个答案时的 URL 链接是 https://docs.google.com/document/export?format=pdf&id=xxx&token=xxx&includes_info_params=true
我可以通过 wget 下载为 pdf
wget -O xxx.pdf "https://docs.google.com/document/export?format=pdf&id=xxx"
【讨论】:
【参考方案4】:这对我有用: https://www.matthuisman.nz/2019/01/download-google-drive-files-wget-curl.html 如果文件大于 100MB,Google 会显示警告,因此这种情况应单独处理。作者展示了如何做到这一点,并提供了自动化它的脚本:https://github.com/matthuisman/gdrivedl
【讨论】:
谢谢,gdrivedl 的工作就像一个魅力!以上是关于使用 wget 从谷歌驱动器下载文件的主要内容,如果未能解决你的问题,请参考以下文章
使用命令行从谷歌驱动器下载共享文件的最快方法是啥? [关闭]
是否可以在不先将对象作为文件保存到谷歌驱动器的情况下从谷歌 colab 下载对象作为文件?