使用 wget 下载时忽略“其他”域?

使用 wget 下载时忽略“其他”域?

我想抓取 www.website.com/XYZ 下的链接,并且只下载 www.website.com/ABC 下的链接。

我正在使用以下 wget 命令来获取我想要的文件:

wget  -I ABC -r -e robots=off --wait 0.25  http://www.website.com/XYZ

当我使用 wget 1.13.4 时,这非常有效。但问题是我必须在具有 wget 1.11 的服务器上使用此命令,当我使用相同的命令时,它最终会下载其他域,例如:

www.website.de 
www.website.it 
...

我怎样才能避免这个问题?我尝试使用

--exclude domains=www.website.de,www.website.it

但它不断下载这些域名。

另请注意,我无法使用,--no-parent因为我想要的文件位于上层(我想要通过抓取 website.com/XYZ 下的链接来获取 website.com/ABC 下的文件)。

有什么提示吗?

答案1

您可以尝试--max-redirect 0或使用--domains example.com 相反的--exclude-domains example.com.

看:

  -D,  --domains=LIST              comma-separated list of accepted domains.
       --exclude-domains=LIST      comma-separated list of rejected domains.
       --follow-tags=LIST          comma-separated list of followed HTML tags.
       --ignore-tags=LIST          comma-separated list of ignored HTML tags.
  -np, --no-parent                 don't ascend to the parent directory.
  --max-redirect                   maximum redirections allowed per page.

答案2

这是错误的:

--exclude domains=www.website.de,www.website.it

正确的方法是:

--exclude-domains www.website.de,www.website.it

来自 wget 手册页:

--exclude-domains domain-list
      Specify the domains that are not to be followed.

相关内容