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は使用しないでください。リストしたドメインは決して「サブドメイン」ではなく、おそらく同じ会社に属する異なるドメインです。
—
ガントバート
ここは何かがおかしい。
—
jw013
wget
デフォルトではホストを横断しないでください。また、再帰wgetを実行するときにホストを横断するには-H
/ --span-hosts
オプションが必要です。「www.website.com」は、「www.website.de」とはまったく異なるホストです。
@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は、異なる動作をするべきではなく、
—
ジル 'SO-悪である停止'
-H
常に元のホストの外部で再帰する必要があります。DOESの-D www.website.com
ヘルプ?