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.

関連情報