多大学编程:如何以编程方式从 Dropbox下载许多大文件

国家语音语料库是新加坡人说英语的自然语言处理语料库,可以在这里找到:https://www.imda.gov.sg/programme-listing/digital-services-lab/national-speech-corpus

当您注册免费语料库时,您将被定向到一个 dropbox 文件夹。语料库是 1 TB,(截至本文撰写) 有四个部分。我只想下载第 1 部分,但即使这样也有 1446 个 zip 文件,每个文件都相当大。我的问题是:如何仅使用命令行以编程方式将许多大文件从 dropbox 下载到 Linux (Ubunut 16.04) 虚拟机上。

相关部件的目录树如下所示:

root
|-LEXICON
|-PART1
  |-DATA
    |-CHANNEL0
      |-WE
        |-SPEAKER0001.zip
        |-SPEAKER0002.zip
        ...
        |-SPEAKER1446.zip

我研究了几种不同的方法:

通过wget命令使用共享链接下载WE父目录,如this question中所述。但是,这不起作用,因为我收到此错误:

重新使用现有连接以发送www.dropbox.com:443HTTP 请求,等待响应...400 错误请求 2021-01-06 23:09:06 错误 400:错误请求。

我认为这是因为WE目录太大,Dropbox 无法压缩。

基于this post,有人建议我可以下载WE父目录的 HTML,并找到所有直接链接到单个 zip 文件,但直接链接到单个文件不在 HTML 文件中。

基于与(2)相同的帖子,我也可以尝试使用 Dropbox API 为每个 zip 文件创建共享链接,尽管这似乎太麻烦了。

下载 Linux Dropbox 客户端并同步相关文件,如this installation中所述。

最后,第四个选项确实对我有用,但我想为将来需要下载此数据集的任何人发布此调查。

0

正如我所描述的,为我工作的方法是使用 Dropbox 的 linux 客户端将文件同步到我的 Linux VM 上。您可以按照these instructions下载 Linux 客户端。这些说明在我的 Ubuntu 16.04 VM 上为我工作。

我遇到的同步客户端的一个问题是如何有选择地排除目录。我的虚拟机上只有 630 GB,整个国家语音语料库的大小是 1TB,所以我需要在 Dropbox 同步填满我的磁盘之前排除文件。

您可以使用安装页面底部的 dropbox python 脚本有选择地排除文件。该脚本的链接是here。从我的主目录 (自动安装 Dropbox sync 文件夹的位置) 调用 python 脚本使用以下命令工作:

python dropbox.py exclude add ~/Dropbox/<path_to_excluded_dir>

您可能想要停止并启动 Dropbox 客户端,可以通过:

python dropbox.py start
python dropbox.py stop

最后,请参阅 python 脚本中的命令以获取更多信息:

python dropbox.py --help

通过这种方法,我能够轻松地下载所需的文件,而不会压倒我的 VM。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(774)
Python怎么关闭窗口:我怎么能关闭浏览器窗口的角度
上一篇
Web tiled layer:libGDX:如何处理来自平铺对象层的精灵的冲突
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(50条)