2

我在这里读到http://www.thegeekstuff.com/2009/09/the-ultimate-wget-download-guide-with-15-awesome-examples/如果我想下载多个 URL,我可以将它们保存在像这样的文本文件

$ cat > download-file-list.txt
URL1
URL2
URL3
URL4

并像这样使用 wget

$ wget -i download-file-list.txt

但是,假设我希望将每个 URL 保存在我的驱动器上它自己的目录中,如下所示:

URL1 -> Users/Downloads/Tech
URL2 -> Users/Downloads/Fashion
URL3 -> Users/Downloads/Cooking
URL4 -> Users/Downloads/News

我该如何做到这一点?是否可以手动设置文本文件中每个 URL 的目录并让 wget 读取并自动知道每个文件的保存位置?还有其他方法可以实现我的需要吗?我稍后会尝试使用 cronjobs 设置和自动下载过程。

谢谢

4

2 回答 2

3

这是一个可以执行此操作的批处理脚本,提供了这样的列表:

$ cat > urllist.txt
URL1 file1
URL2 file2
URL3 file3
URL4 file4

$ while read url file; do 
    wget -c -O "$file" "$url"
done < urllist.txt

URL 中不应有任何空格(它们可以用 %20 表示),但是文件名中可以​​有空格。

于 2013-11-27T19:09:53.197 回答
1

那你就不能用那个方法了。最好的方法是使用 bash、perl 或 python 脚本以某种格式读取文件(可能是“URL 目录”)并将每个 url 下载到指定目录。但是您需要在 wget 之外添加一些技巧才能获得这种行为。

于 2013-04-15T01:41:50.997 回答