wgetでダウンロードするときに「他の」ドメインを無視しますか?


13

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

ヒントはありますか?


「偽の」URLは使用しないでください。また、問題に関係のないサイトのURLは使用しないでください。リストしたドメインは決して「サブドメイン」ではなく、おそらく同じ会社に属する異なるドメインです。
ガントバート

ここは何かがおかしい。 wgetデフォルトではホストを横断しないでください。また、再帰wgetを実行するときにホストを横断するには-H/ --span-hostsオプションが必要です。「www.website.com」は、「www.website.de」とはまったく異なるホストです。
jw013

@guntbert申し訳ありませんが、実際のURLを指定するのは問題だと思いました。もちろん、クロールするWebサイトはwebsite.comではありません。しかし、example.comをクロールすると、メインディレクトリ(example.comと同じレベル)にexample.it、example.deも表示されます。
user2779485

先ほど言ったように、@ jw013は、www.example.com / xを指定すると、www.example.de、www.example.itもクロールします。しかし、これは1.13ではなくwget 1.11でのみ発生します。そのため、私は非常に混乱しています。
user2779485

これはバグのように見えます:wget 1.11は、異なる動作をするべきではなく、-H常に元のホストの外部で再帰する必要があります。DOESの-D www.website.comヘルプ?
ジル 'SO-悪である停止'

回答:


5

これは間違っています:

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

リストをこま分離してはいけませんか?
rubo77

@ rubo77そのとおりです、私はそれを変更しました。
ダニエルヴェルナー

17

の 反対として試す--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.

5
ブラックリストの代わりにドメインをホワイトリストに登録するのが好きな場合、これは受け入れられている回答よりも優れています
-yunzen
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.