如何使用wget从网站中提取图片链接并下载它们?

6
我非常希望能够从网站下载图片,但是我不太了解使用wget下载的方法。他们将图片托管在另一个网站上,我该如何使用cat或其他工具从网站中获取图片链接,以便我可以使用wget来下载它们。我只知道wget这一部分。例如Reddit.com.
  wget -i download-file-list.txt

你不能仅使用wget。你需要编写一个使用管道和正则表达式的shell脚本。 - Alex W
这篇文章介绍了如何使用wget下载整个网站,其中也包括图片: http://www.thegeekstuff.com/2009/09/the-ultimate-wget-download-guide-with-15-awesome-examples/ - Alex W
可能是 https://dev59.com/RW445IYBdhLWcg3w_PAn 的重复问题。 - mr rogers
2个回答

12

试试这个:

wget -r -l 1 -A jpg,jpeg,png,gif,bmp -nd -H http://reddit.com/some/path
它将从页面 http://reddit.com/some/path 开始递归1级子目录,不会创建文件夹结构(如果您需要文件夹,请删除 -nd),仅下载以 "jpg"、"jpeg"、"png"、"gif" 或 "bmp" 结尾的文件。它会跨主机下载。

唯一的问题是,这些图片存储在不同的网站上。这是一个包含大量图片链接的列表。 - c0rruptbytes
@user1560474,那么您需要使用“-H”来跨主机。 - Jon Lin

2
我会使用 perl 模块 WWW::Mechanize。以下代码将所有链接输出到 stdout
use WWW::Mechanize;

$mech = WWW::Mechanize->new();
$mech->get("URL");
$mech->dump_links(undef, 'absolute' => 1);

URL替换为您想要的实际网址。


不错的方法。不过,你能否更改它以便从文本文件中逐个获取链接? - Cajuu'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接