【问题标题】:Python Script to download large files in parts using curl使用 curl 分批下载大文件的 Python 脚本
【发布时间】:2019-03-05 04:25:12
【问题描述】:

我的研究所不允许下载超过 300MB 的文件,所以我想出了这个分段下载文件的技巧!现在我想简化任务并在 python 中制作一个脚本! 我正在使用 os.system() 来执行命令!

我的计划是使用这个 curl --range 300000000*X-(300000000*(X+1)-1) [url] -o filename.partX # X是零件号

但我不知道如何终止循环!我怎么知道文件的所有可用部分都已下载!谁能帮我解决这个问题?

【问题讨论】:

    标签: python curl terminal download filesplitting


    【解决方案1】:
    # repeat download if fail to download the big file
    until curl -C - -o partial_file.zip http://example.com/file.zip; do
        echo Tansfer disrupted, retrying in 10 seconds...
        sleep 10
    done
    

    【讨论】:

    • 嗨对不起,我想我没有把问题说清楚!如果文件大于 300 mb,我什至无法请求下载到文件!
    • 我认为当下载大于 300MB 的文件时,下载 300MB 后您的下载进程会被终止。所以你应该继续通过 curl 下载这个文件
    • 你能补充一些关于它的作用以及它为什么能解决问题的 cmets 吗?
    • ·curl -C· 表示 curl 会记住偏移量并继续/恢复之前的文件传输。答案中的命令意味着,当 curl 下载进程被杀死时,它会引发错误,并且会在 10s 后运行另一个 curl 进程,直到文件下载成功。
    • @冯!不,这不是,我试过了!我收到一个 HTML 页面,说请求太大!我使用的原始方法有效,但我必须手动输入值!太费时间了! :(
    猜你喜欢
    • 2010-11-29
    • 1970-01-01
    • 2023-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多