为什么wget将html扩展名添加到每个文件?

问题描述

我正在使用以下命令从服务器下载所有文件

wget -R "index.*" -m -np -e robots=off http://robotics.ethz.ch/~asl-datasets/ijrr_euroc_mav_dataset/

可以正确识别所有文件,但是wget将.html添加到所有文件。例如:ijrr_euroc_mav_dataset/calibration_datasets/cam_april/cam_april.bag变成ijrr_euroc_mav_dataset/calibration_datasets/cam_april/cam_april.bag.html

那是为什么?

此外,wget创建了我不要求的文件~asl-datasets。我只想下载ijrr_euroc_mav_dataset下的所有文件

解决方法

这是两个独立的问题,但很容易回答。 (我已经在评论中解决了这个问题,但要回答,因为这显然是现场观察)。

第一个是,为什么Wget在文件中添加一个.html后缀。原因很可能是您的adjust-extensions文件中有~/.wgetrc。由于明显的原因,默认情况下禁用此选项,但在许多情况下很有用。尝试修改〜/ .wgetrc文件,或使用--no-config(如果使用的Wget版本超过5年,则使用--config=/dev/null。)

第二个问题是Wget为什么要创建目录。好吧,答案很简单。您要求镜像具有该目录的网站。您可以使用--cut-dirs选项来调整要Wget在磁盘上创建的目录。 (在您的情况下,我认为--cut-dirs=2 --no-host-directories可能是合适的,因为您不关心保留目录结构。但是请记住,这意味着不同目录中具有相同名称的文件可能会被覆盖