Ihr Problem ist, dass es im Gegensatz zu Links in HTML wget -r
nicht möglich ist, Links in XML zu folgen. Sie können dies umgehen, indem Sie zuerst die Sitemap abrufen, alle darin enthaltenen URLs finden und schließlich mit einer anderen abrufen wget
, z.
wget --quiet http://example.com/sitemap.xml --output-document - \ | egrep -o "http://example\.com[^<]+" \ | wget -i - --wait 0
Hier ist der Schlüssel
-i file
--input-file=file
Liest URLs aus einer lokalen oder externen Datei. Wenn
-
als Datei angegeben wird, werden URLs aus der Standardeingabe gelesen. (Verwenden Sie./-
diese Option, um aus einer Datei zu lesen, die buchstäblich mit einem Namen bezeichnet wird-
.) Wenn diese Funktion verwendet wird, müssen in der Befehlszeile keine URLs vorhanden sein. Wenn sich sowohl in der Befehlszeile als auch in einer Eingabedatei URLs befinden, werden die in den Befehlszeilen zuerst abgerufen. Wenn--force-html
nicht angegeben, sollte die Datei aus einer Reihe von URLs bestehen, einer pro Zeile.
Wir bieten diese "Datei" aus der Standardeingabe an, nachdem das XML in die gewünschte Form geändert wurde, dh eine URL pro Zeile egrep
.