wget taugt nicht zum lokalen Spiegeln von Webseiten

Obige Aussage kann man zumindest dann vertreten, wenn man bestimmte URLs vom Spiegeln ausschließen will, weil sie z.B. auf eine dynamische Datenbankabfrage hinauslaufen.

Es ist zwar möglich, einzelne Dateien mit der Option --reject bzw. -R auszuschließen. Allerdings lädt wget die Dateien zuerst herunter und löscht(!) sie anschließend.

Es ist also nicht möglich, bestimmte URLs vom Herunterladen auszunehmen. In Debian existiert schon seit 2003 ein Bug-Report der auf einen Mailinglisten-Eintrag verweist, in dem die Rede ist von einer geplanten umfänglichen Filter-Implementierung. Leider hat sich in die Richtung bis heute nichts getan. Auch in der Linux-Gazette gabs schon einen Beitrag zu dem Thema (langer Thread, nach unten Scrollen.

Das Verhalten ist übrigens genau so auch im Manual dokumentiert:

Note that these two options do not affect the downloading of html files (as determined by a ‘.htm’ or ‘.html’
filename prefix). This behavior may not be desirable for all users, and may be changed for future versions of Wget.

Note, too, that query strings (strings at the end of a URL beginning with a question mark (‘?’) are not included
as part of the filename for accept/reject rules, even though these will actually contribute to the name chosen
for the local file. It is expected that a future version of Wget will provide an option to allow matching against
query strings.

[...]

This behavior, too, is considered less-than-desirable, and may change in a future version of Wget.

Curl ist übrigens keine Alternative, da rekursives Herunterladen nicht unterstützt wird, es sei denn, man setzte externe Skripte wie curlmirror.pl ein. Eine brauchbares Programm zum Spiegeln von Webseiten, welches auch URL-Matching versteht, scheint httrack zu sein.