Colab中的wget没有下载完整的文件
Posted
技术标签:
【中文标题】Colab中的wget没有下载完整的文件【英文标题】:wget in Colab not downloading complete file 【发布时间】:2022-01-11 20:26:28 【问题描述】:我在 Google Drive 上有一个目录 (temp0),其中包含 100,000 个小文件。我无法在 Google colab 中打开它,大概是因为文件太多。 所以我使用 python tarfile 创建了一个 temp0.tar.gz 文件,它是 489KB,我想从我的 Google Drive 下载它并在 Colab 环境中解压它。 我用过:
!wget -O temp0.tar.gz https://drive.google.com/open?id=1lmGFLXtkvhucF033MmBW9yNiAaEgk4_d&authuser=alantjohnstone%40gmail.com&usp=drive_fs
它似乎工作报告:
Resolving drive.google.com (drive.google.com)... 74.125.31.113, 74.125.31.102, 74.125.31.138, ...
Connecting to drive.google.com (drive.google.com)|74.125.31.113|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://accounts.google.com/ServiceLogin?service=wise&passive=1209600&continue=https://drive.google.com/open?id%3D1lmGFLXtkvhucF033MmBW9yNiAaEgk4_d&followup=https://drive.google.com/open?id%3D1lmGFLXtkvhucF033MmBW9yNiAaEgk4_d [following]
--2021-12-06 16:14:13-- https://accounts.google.com/ServiceLogin?service=wise&passive=1209600&continue=https://drive.google.com/open?id%3D1lmGFLXtkvhucF033MmBW9yNiAaEgk4_d&followup=https://drive.google.com/open?id%3D1lmGFLXtkvhucF033MmBW9yNiAaEgk4_d
Resolving accounts.google.com (accounts.google.com)... 64.233.170.84, 2607:f8b0:400c:c07::54
Connecting to accounts.google.com (accounts.google.com)|64.233.170.84|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘temp0.tar.gz’
temp0.tar.gz [ <=> ] 89.18K --.-KB/s in 0.001s
2021-12-06 16:14:13 (60.9 MB/s) - ‘temp0.tar.gz’ saved [91323]
但是它只下载了 489K 中的 90K 我无法打开结果以查看它实际上是什么。 有人能告诉我我做错了什么吗?
【问题讨论】:
这和 Python 有什么关系?除此之外,查看wget
的输出——它正在下载text/html
类型的数据。尝试将下载的 tar.gz
文件重命名为 something.html
并在浏览器中查看。
【参考方案1】:
我发现了如何将大文件从 Google Drive 移动到 colab 环境。
1 通过右键单击文件并选择“获取链接”来获取文件 ID。 复制链接并将权限更改为 Anybody with Link
2 在 Colab 中,将链接粘贴到单元格中并以 !gdown --id 为前缀
3 注意您必须在 ID 之前和之后删除所有垃圾 例如https://drive.google.com/file/d/1m3NvCCyuRptopEPBXSPHaNCkfVx4E6ZR/view?usp=sharing ID是1m3NvCCyuRptopEPBXSPHaNCkfVx4E6ZR
【讨论】:
【参考方案2】:我认为你不能直接从谷歌驱动器下载东西,你也需要把网址放在引号中。一种解决方案是使用左侧的按钮安装您的谷歌驱动器。
【讨论】:
以上是关于Colab中的wget没有下载完整的文件的主要内容,如果未能解决你的问题,请参考以下文章
Linux系统wget下载数据出现如图非正式数据的原因是啥?
通过 wget 从 Dropbox 链接下载包含子文件夹的文件夹到 Unix 服务器