乐闻世界logo
搜索文章和话题

How to download all files (but not HTML) from a website using wget?

4 个月前提问
4 个月前修改
浏览次数18

1个答案

1

使用 wget来下载网站上的所有文件(但不包括HTML文件)可以通过一些特定的参数设置来实现。下面我会详细解释一种常用的方法及步骤。

首先,wget是一个非常强大的命令行工具,它支持HTTP、HTTPS和FTP协议,可以用来下载文件。如果我们想要下载所有非HTML的文件,我们可以使用 wget的排除模式的功能。

具体的命令如下:

bash
wget -r -l inf -A pdf,jpg,png,mp3 -nd -np -R html,htm http://example.com

这里我使用了几个参数:

  • -r:递归下载,意味着 wget会从指定的URL开始,递归地下载所有资源。
  • -l inf:递归的深度为无限。
  • -A:接受列表,这里我指定了 pdf,jpg,png,mp3,意味着只下载这些指定的文件类型。
  • -nd:不创建目录,所有下载的文件都会直接存储到当前目录。
  • -np:不遵循网页上的父目录链接。
  • -R:排除列表,这里我排除了所有的HTML文件(html,htm)。
  • http://example.com:被下载的网站地址。

这样设置后,wget会在不下载任何HTML文件的情况下,从指定的网站递归下载所有指定类型的文件。

举个例子,如果我要从一个音乐学校的网站下载所有的课件和音频文件,而这些文件主要是PDF和MP3格式,我可以使用类似上述的命令,只需要调整网站的URL以及可能需要调整文件类型列表确保只下载需要的文件类型。这种方法非常有效,也易于操作。

2024年7月30日 00:20 回复

你的答案