我使用wget从网站下载所有图像,它工作正常但它存储了所有子文件夹的网站的原始层次结构,因此图像点缀.有没有办法让它将所有图像下载到一个文件夹中?我目前使用的语法是:
wget -r -A jpeg,jpg,bmp,gif,png http://www.somedomain.com
Run Code Online (Sandbox Code Playgroud)
Jon*_*Jon 189
试试这个:
wget -nd -r -P /save/location -A jpeg,jpg,bmp,gif,png http://www.somedomain.com
Run Code Online (Sandbox Code Playgroud)
以下是一些更多信息:
-nd阻止创建目录层次结构(即没有目录).
-r启用递归检索.有关详细信息,请参阅递归下载.
-P 设置保存所有文件和目录的目录前缀.
-A设置白名单以仅检索某些文件类型.字符串和模式被接受,并且两者都可以在逗号分隔列表中使用(如上所示).有关更多信息,请参阅文件类型.
Lri*_*Lri 127
wget -nd -r -l 2 -A jpg,jpeg,png,gif http://t.co
Run Code Online (Sandbox Code Playgroud)
-nd:没有目录(将所有文件保存到当前目录; -P directory更改目标目录)-r -l 2:递归级别2-A:接受扩展wget -nd -H -p -A jpg,jpeg,png,gif -e robots=off example.tumblr.com/page/{1..2}
Run Code Online (Sandbox Code Playgroud)
-H:span hosts(wget默认不下载来自不同域或子域的文件)-p:页面必备条件(包括每页上的图像等资源)-e robots=off:执行命令robotos=off,就好像它是.wgetrc文件的一部分一样.这将关闭机器人排除,这意味着您忽略robots.txt和机器人元标记(您应该知道它带来的含义,注意).示例:.jpg从示例目录列表中获取所有文件:
$ wget -nd -r -l 1 -A jpg http://example.com/listing/
Run Code Online (Sandbox Code Playgroud)
小智 13
我写了一个shellcript来解决多个网站的这个问题:https://github.com/eduardschaeli/wget-image-scraper
(使用wget从URL列表中搜索图像)
试试这个:
wget -nd -r -P /save/location/ -A jpeg,jpg,bmp,gif,png http://www.domain.com
Run Code Online (Sandbox Code Playgroud)
并等到它删除所有额外信息
根据手册页,-P标志是:
-P prefix --directory-prefix = prefix将目录前缀设置为prefix.目录前缀是将所有其他文件和子目录保存到的目录,即检索树的顶部.默认是.(当前目录).
这意味着它仅指定目标,但保存目录树的位置.它不会将树展平为一个目录.如前所述,-nd标志实际上就是这样做的.
@Jon将来描述旗帜的作用是有益的,这样我们才能理解某些东西是如何运作的.