如何使用 Wget 从 URL 将所有图像下载到单个文件夹中?

我使用 wget 从一个网站下载所有的图像,它工作得很好,但它存储了所有子文件夹的网站的原始层次结构,所以图像点缀周围。有没有办法把所有的图片下载到一个文件夹里?我现在使用的语法是:

wget -r -A jpeg,jpg,bmp,gif,png http://www.somedomain.com
308066 次浏览

试试这个:

wget -nd -r -P /save/location -A jpeg,jpg,bmp,gif,png http://www.somedomain.com

以下是更多信息:

-nd防止创建目录层次结构(即 没有目录)。

-r支持递归检索。有关更多信息,请参见 递归下载

-P设置保存所有文件和目录的目录前缀。

-A设置一个只检索特定文件类型的白名单。接受字符串和模式,并且可以在逗号分隔的列表中使用它们(如上所示)。有关更多信息,请参见 文件类型

试试这个:

wget -nd -r -P /save/location/ -A jpeg,jpg,bmp,gif,png http://www.domain.com

直到它删除了所有额外的信息

wget -nd -r -l 2 -A jpg,jpeg,png,gif http://t.co
  • 没有目录(将所有文件保存到工作目录,-P directory更改目标目录)
  • -r -l 2: 递归级别2
  • 接受延期
wget -nd -H -p -A jpg,jpeg,png,gif -e robots=off example.tumblr.com/page/{1..2}
  • Span hosts (wget 默认情况下不从不同的域或子域下载文件)
  • 页面要求(包括每个页面上的图像等资源)
  • 执行命令 robotos=off,就像它是 .wgetrc文件的一部分一样。这将关闭机器人排除,这意味着您将忽略 robots.txt 和机器人元标记(您应该知道这会带来什么影响,请小心)。

示例: 从示例目录列表中获取所有 .jpg文件:

$ wget -nd -r -l 1 -A jpg http://example.com/listing/

根据手册页,-P 标志是:

前缀是 P ——目录-前缀 = 前缀 将目录前缀设置为前缀。目录前缀是 保存所有其他文件和子目录的目录 到,即检索树的顶部 工作目录)。

这意味着它只指定目标,但是指定保存目录树的位置。它不会将树扁平化为一个目录.正如前面提到的-nd 标志实际上做到了这一点。

@ Jon 在未来,描述一下旗子的作用对我们有好处,这样我们就能理解一些东西是如何工作的。

我编写了一个 shell 脚本来解决多个网站的这个问题: https://github.com/eduardschaeli/wget-image-scraper

(使用 wget 从 url 列表中刮取图像)

Wget 实用程序使用 HTTP、 HTTPS 和 FTP 等广泛使用的协议从万维网(WWW)检索文件。Wget 实用程序是免费提供的软件包,许可证采用 GNU GPL 许可证。这个工具可以安装任何类Unix系统,包括 Windows 和 MAC 操作系统。它是一个非交互式命令行工具。Wget 的主要特点是它的稳健。它的设计方式使它能够在缓慢或不稳定的网络连接中工作。如果出现网络问题,Wget 会自动从停止下载的地方开始下载。还可以递归地下载文件。它会继续尝试,直到文件被完全检索。

在 linux 机器上安装 wget Sudo apt-get install wget

创建要下载文件的文件夹。 Sudo mkdir myimages CD 我的影像

右键单击网页,例如,如果你想要图像位置右键单击图像和复制图像位置。如果有多个图像,那么按照下面的步骤:

如果同时有20张图片可以从网上下载,范围从0到19。

Wget http://joindiaspora.com/img{0. . 19} . jpg

建议的解决方案是完美的下载图像,如果它足以让你保存所有的文件在目录中你使用。 但是,如果您想在指定目录中保存所有图像,而不想重现站点的整个层次树,那么尝试在 Jon 提议的行中添加“ cut-dirs”。

wget -r -P /save/location -A jpeg,jpg,bmp,gif,png http://www.boia.de --cut-dirs=1 --cut-dirs=2 --cut-dirs=3

在这种情况下,cut-dirs 将阻止 wget 创建子目录,直到网站层次结构树的第三层深度,保存指定目录中的所有文件。如果你正在处理一个深层结构的网站,你可以用更高的数字添加更多的“ cut-dirs”。