在 AI、系统安全等研究领域,大量数据集的训练和分析确实是不可或缺的一部分,而像 Google Drive 这样的云存储平台提供了方便的文件共享机制,成为了很多研究者分享数据集的首选。
然而,当数据集的体量达到几十 GB 甚至几百 GB 时,下载这些数据集就变得相当复杂,尤其是在面临 token 过期、下载速度慢、断点续传等问题时。
Google Drive 对于共享链接的一种安全机制:
为了防止滥用或保护文件内容,Google Drive 在生成下载链接时会附带一个 token 字段,而该 token 通常只有 1 小时的有效期。这意味着如果在这一小时内未完成下载,链接将失效,并且必须重新生成新的下载链接。
1. 要链接
欸嘿,我有一个最简单的方法:
请求直接下载链接:一些大型的数据集提供者可能提供直接的 HTTP 或 FTP 链接,而不通过 Google Drive。这些链接通常没有 token 过期的问题,可以用传统的下载管理工具进行下载。这对于一些特别大的数据集可能是一个更优选择。
2. 用国外服务器下载后作为中转,设法下载到国内本地
然后,找到一位博主尝试了浏览器直接下载、Google Drive Desktop 客户端下载、第三方下载软件(IDM)三种失败方法后,终于成功了,他的成功方法:用国外服务器下载后作为中转,设法下载到国内本地 步骤如下,
- 申请一个带宽可靠、存储足够的海外主机(推荐 Vultr);
- 申请 Google Drive 的 Oauth API Key (获得 Access Token);
- 使用
curl -C
下载目标文件至海外主机; - 在海外主机上架设 nginx,设置防火墙,并将目标文件移动至根目录;
- 本地使用 IDM 等多线程下载工具,在海外主机的 Web 服务中接管目标文件的下载。
3. IDM + 科学上网
我碰到三次刷新地址操作后,谷歌就不让我更新下载了,不过第二天又可以了。
这位博主的 Google Drive(谷歌网盘)下载超大文件方法 也遇到了上位博主遇到的问题,不过他有新的发现,然后他就下载成功了。
如果 idm 不弹出下载(idm 接管),可以先使用 chrome 浏览器下载,然后进入下载内容,右键下载文件的链接,再点击 IDM。
在下载一段时间后,IDM 的传输速度会停在 0kb/s,应该是下载链接的允许下载时间超过了,需要重新更新下载地址。先去软件中停止下载,再 chrome 右键下载文件链接 + 点击 IDM 的操作,就能更新地址了。
然后 “刷新下载地址” 就会变亮,点击后会让你跳到最开始“仍然下载”的地方,再下载就会更新下载地址,实现续传。如果后续再出现,继续这个操作。