我正在尝试使用以下命令递归下载目录:
wget -r -l2 --no-parent -A "*.pdf" -nd -N -e robots=off http://…
该脚本每 15 分钟执行一次,因此我想尽可能减少请求。我看到有很多请求?C=M;O=A
来自目录顺序修改按钮,例如姓名,日期或者尺寸(例子)。我怎样才能阻止这些请求的发生?
答案1
另请注意,查询字符串(以问号(“?”开头)的 URL 末尾的字符串)不会作为接受/拒绝规则的文件名的一部分包含在内,即使这些字符串实际上会有助于选择的名称预计 Wget 的未来版本将提供允许匹配查询字符串的选项。
您可能需要使用不同的工具,例如帕武克或者httrack。这两个程序提供比 wget 更强大的名称过滤。
作为替代方案,您可以使用 wget 下载目录并随后对其进行过滤。
find . -name '*\?' -delete
# Here is a less dangerous pattern that matches the string you provided more closely:
find . -name '*\??=?;?=?' -delete
答案2
如果您尝试镜像 *.pdf 文件的目录,我会使用 httrack。像这样的命令对我有用:
% httrack http://my.server.com/dir/with/pdfs/ +mime:text/html +*.pdf --update
您可以通过以下网址查看有关 httrack 的更多信息:
我应该提到使用 httrack 相对于 wget 的一个主要优点是 httrack 只会下载已更改/更新的文件。