You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用wget镜像网页中途卡住,如何续传并避免重复下载?

如何恢复wget网站镜像的续传并避免重复下载?

嘿,这个问题我碰到过好多次了,刚好可以给你详细说说怎么解决~

一、恢复断点续传

当你中断了wget的镜像任务后,只需要在原来的命令基础上加上--continue(或者短选项-c)参数,就能让wget自动识别本地已下载的文件,从断点处继续传输。

举个例子,假设你原来的镜像命令是:

wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://your-target-site.com

那恢复续传的命令就是:

wget --continue --mirror --convert-links --adjust-extension --page-requisites --no-parent http://your-target-site.com

这里的--continue参数会让wget检查每个本地文件的状态:如果文件是不完整的(比如中途中断导致的),就从上次中断的位置继续下载;如果文件已经完整,就直接跳过。

二、避免重复下载已获取的URL

wget本身有几个参数可以帮你实现这个需求,不同参数适用不同场景:

  1. 默认镜像模式已自带增量下载
    你用的--mirror参数其实已经包含了--timestamping(短选项-N),这个参数会让wget对比本地文件和服务器上文件的修改时间与大小:只有当服务器上的文件更新过,或者本地没有该文件时,才会下载。这是最常用的增量镜像方式,既能保证内容最新,又不会重复下载未更新的文件。

  2. 强制跳过所有本地已存在的文件
    如果你不管服务器上的文件是否更新,只要本地已经有了就绝对不下载(哪怕服务器上的文件已经更新),可以加上--no-clobber(短选项-nc)参数。不过要注意:如果本地有不完整的文件,-nc默认不会续传,所以建议和--continue一起使用,这样既可以续传未完成的文件,又能跳过已完整的文件:

    wget --continue --no-clobber --mirror --convert-links --adjust-extension --page-requisites --no-parent http://your-target-site.com
    

小提醒

一定要确保你在原来的镜像工作目录下执行恢复命令,不然wget找不到已有的文件,就会从头开始下载了哦~

内容的提问来源于stack exchange,提问作者yukashima huksay

火山引擎 最新活动