无法下载大量数据; 我可以批量下载吗?


0

我想下载Google Compute Engine实例的备份图片,但下载量太大(900+ MB)。这是一个tar.gz文件。

然而,问题是我现在在中国,GCP被封锁了。所以我必须使用VPN。

然而,VPN是如此缓慢和不稳定,因此我无法下载如此大量的数据。每当我尝试下载它时,下载永远不会在它停止之前完成,并且最终在大量下载时失败。我使用谷歌浏览器下载它。

由于下载工作直到失败(例如,428/932 MB),如果您可以再次恢复或分离下载的卷量,则可以下载它。

我可以通过分离下载的内容量来下载它以避免失败吗?



如果你有一个tar.gz文件,你可以尝试用bzip2压缩它吗?你可以实现一个非常好的压缩它需要一些时间,但根据我自己的经验,15 Gb可以成功压缩到3Gb。
Genaro Morales 2017年

Answers:


0

首先,您可以通过7Zip压缩文件,压缩比gzip好得多,以减少下载大小。

其次,您可以使用下载管理器来恢复损坏的下载,这样您就可以在停止下载时继续下载。

不知道您用来下载的操作系统,这里有一些可在所有平台上使用的下载管理器:

如果您使用的是Windows,可以使用更多非常好的下载管理器。


0

程序喜欢curlwget有选项--continuewget)和--continue-atcurl),它允许您恢复中断的下载,提供数据尚未被破坏。

wget默认情况下会在发生中断时自动尝试恢复下载,因此您不必担心传输不稳定。

curl--continue-at选项通常需要一个数字值,但如果你传递它-而不是数字,它将使用其输出文件来确定它应该从哪个点开始下载。

样本用法(来自man wgetwget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Zcurl ftp://sunsite.doc.ic.ac.uk/ls-lR.Z -o myfile.Z --continue-at -

如果您需要使用某些特定的cookie,标题,发送POST数据或接收文件的任何内容,现代浏览器(通过开发人员工具面板,即F12)允许您复制curl可用于访问该资源的请求命令。(见图)

火狐: 在此输入图像描述

铬: 在此输入图像描述

只需复制它curl,然后粘贴到控制台附加适当的标志。如果命令失败,您可以curl再次呼叫(cookie可能无效,因此您可能需要向浏览器询问新curl命令)并继续下载。

这可能看起来像是获得命令的复杂过程,但它非常通用 - 可以curl通过浏览器提供的命令下载您在浏览器中查看的几乎所有类型的材料,可能猜测下一个链接1并将输出粘贴在一起。


1可以上传书籍,这样您就不会逐页加载整个PDF,而是逐页加载,每个都在不同的地址下。因此,你需要做的请求www.example.com/page1.pdfwww.example.com/page2.pdfwww.example.com/page3.pdf为了得到三页。
某些视频流不会针对一个请求发送视频,但需要客户端分别询问每个视频片段。
在这两种情况下,机制都很简单:猜测下一个链接生成模式,请求所有链接,然后“连接”(相应于文件类型)输出。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.