Ich möchte Links unter www.website.com/XYZ crawlen und nur die Links unter www.website.com/ABC herunterladen.
Ich benutze den folgenden Befehl wget, um die gewünschten Dateien zu erhalten:
wget -I ABC -r -e robots=off --wait 0.25 http://www.website.com/XYZ
Dies funktioniert einwandfrei, wenn ich wget 1.13.4 verwende. Das Problem ist jedoch, dass ich diesen Befehl auf einem Server mit wget 1.11 verwenden muss. Wenn ich denselben Befehl verwende, werden am Ende zusätzliche Domänen heruntergeladen, z.
www.website.de
www.website.it
...
Wie kann ich dieses Problem vermeiden? Ich habe versucht mit
--exclude domains=www.website.de,www.website.it
Diese Domains wurden jedoch weiterhin heruntergeladen.
Beachten Sie auch, dass ich nicht verwenden kann, --no-parent
da 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?
quelle
wget
sollte standardmäßig keine Hosts kreuzen, und Sie benötigen die Option-H
/--span-hosts
, um Hosts zu kreuzen, wenn Sie ein rekursives wget ausführen. "www.website.com" ist ein völlig anderer Host als "www.website.de".-H
sich immer außerhalb des ursprünglichen Hosts wiederholen. Hilft das-D www.website.com
?Antworten:
Das ist falsch:
Der richtige Weg ist:
Von der wget man Seite:
quelle
Sie können versuchen
--max-redirect 0
oder--domains example.com
als Gegenteil von verwenden--exclude-domains example.com
.Sehen:
quelle