„Andere“ Domänen beim Herunterladen mit wget ignorieren?

„Andere“ Domänen beim Herunterladen mit wget ignorieren?

Ich möchte Links unter www.website.com/XYZ crawlen und nur die Links herunterladen, die unter www.website.com/ABC liegen.

Ich verwende den folgenden wget-Befehl, um die gewünschten Dateien abzurufen:

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

Das funktioniert einwandfrei, wenn ich wget 1.13.4 verwende. Das Problem ist jedoch, dass ich diesen Befehl auf einem Server verwenden muss, auf dem wget 1.11 installiert ist. Wenn ich denselben Befehl verwende, werden zusätzliche Domänen heruntergeladen, beispielsweise:

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

Wie kann ich dieses Problem vermeiden? Ich habe versucht,

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

Allerdings wurden diese Domänen weiterhin heruntergeladen.

Beachten Sie auch, dass ich es nicht verwenden kann, --no-parentda sich die gewünschten Dateien auf einer höheren Ebene befinden (ich möchte Dateien unter website.com/ABC, indem ich Links unter website.com/XYZ crawle).

Irgendwelche Hinweise?

Antwort1

Sie können versuchen --max-redirect 0, oder --domains example.com als Gegenteil von zu verwenden --exclude-domains example.com.

Sehen:

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

Antwort2

Das ist falsch:

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

Der richtige Weg ist:

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

Aus der wget-Manpage:

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

verwandte Informationen