使用文件输入时如何使用 wget --wait 选项?

arj*_*jan 6 wget

我有一个包含要下载的网址列表的文本文件。我希望 wget 在下载下一个 url 之前等待。我正在使用

cat urls.txt | xargs -n1 -i wget --wait=30 {}
Run Code Online (Sandbox Code Playgroud)

但是,网址之间没有等待。我可以为此使用 wget 的 --wait 选项吗?其他选择?

小智 11

这是因为 wget 是为每个 url 新调用的。使用该-i选项将 URL 列表提供给wget

$ wget -i urls.txt --wait=30
Run Code Online (Sandbox Code Playgroud)

从手册:

-i file
--input-file=file

Read URLs from a local or external file. If - is specified as file,
URLs are read from the standard input. (Use ./- to read from a file
literally named -.)  If this function is used, no URLs need be present
on the command line. If there are URLs both on the command line and in
an input file, those on the command lines will be the first ones to be
retrieved. If --force-html is not specified, then file should consist
of a series of URLs, one per line.

However, if you specify --force-html, the document will be regarded as
html. In that case you may have problems with relative links, which
you can solve either by adding "<base href="url">" to the documents or
by specifying --base=url on the command line.

If the file is an external one, the document will be automatically
treated as html if the Content-Type matches text/html. Furthermore,
the file's location will be implicitly used as base href if none was
specified.
Run Code Online (Sandbox Code Playgroud)