web-dev-qa-db-ja.com

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の下のファイルが必要です)。

ヒントはありますか?

13
user2779485

これは間違っています:

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

正しい方法は次のとおりです。

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

Wgetのmanページから:

--exclude-domains domain-list
      Specify the domains that are not to be followed.
5
Radu Rădeanu

--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.
18
kenorb