Lassen Sie wget auf eine lokale Kopie verweisen, ohne Dateien redundant herunterzuladen

Lassen Sie wget auf eine lokale Kopie verweisen, ohne Dateien redundant herunterzuladen

Ich möchte ein Message Board archivieren. Dazu verwende ich wget mit den Parametern: --page-requisites, --span-hosts, --convert-linksund --no-clobber.

Das Problem besteht darin, dass die Verwendung von --convert-linksdeaktiviert wird --no-clobber. Für jede Thread-Seite lädt wget Site-Skins, Skripte und Symbole erneut herunter (um sie auf dem neuesten Stand zu halten).

Gibt es eine Möglichkeit, wget daran zu hindern, Dateien herunterzuladen, die bereits lokal vorhanden sind, Links zu Dateien auf ihre lokalen Kopien zu verweisen und nur Dateien herunterzuladen, die noch nicht im Dateisystem vorhanden sind?

Antwort1

Ich glaube, wenn Sie den Schalter einschließen, -Nwird wgetdie Verwendung von Zeitstempeln erzwungen.

   -N
   --timestamping
       Turn on time-stamping.

Mit diesem Schalter wgetwerden nur Dateien heruntergeladen, die nicht bereits lokal vorhanden sind.

Beispiel

Laden Sie die Datei herunter, wenn robots.txtsie lokal noch nicht vorhanden ist.

$ wget -N http://google.com/robots.txt
--2014-06-15 21:18:16--  http://google.com/robots.txt
Resolving google.com (google.com)... 173.194.41.9, 173.194.41.14, 173.194.41.0, ...
Connecting to google.com (google.com)|173.194.41.9|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.google.com/robots.txt [following]
--2014-06-15 21:18:17--  http://www.google.com/robots.txt
Resolving www.google.com (www.google.com)... 173.194.46.83, 173.194.46.84, 173.194.46.80, ...
Connecting to www.google.com (www.google.com)|173.194.46.83|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/plain]
Saving to: ‘robots.txt’

    [ <=>                                                                                                                                 ] 7,608       --.-K/s   in 0s      

2014-06-15 21:18:17 (359 MB/s) - ‘robots.txt’ saved [7608]

Versuchen Sie es ein zweites Mal mit der Datei robots.txtlokal:

$ wget -N http://google.com/robots.txt
--2014-06-15 21:18:19--  http://google.com/robots.txt
Resolving google.com (google.com)... 173.194.41.8, 173.194.41.9, 173.194.41.14, ...
Connecting to google.com (google.com)|173.194.41.8|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.google.com/robots.txt [following]
--2014-06-15 21:18:19--  http://www.google.com/robots.txt
Resolving www.google.com (www.google.com)... 173.194.46.82, 173.194.46.83, 173.194.46.84, ...
Connecting to www.google.com (www.google.com)|173.194.46.82|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/plain]
Server file no newer than local file ‘robots.txt’ -- not retrieving.

Beachten Sie, dass die Datei beim zweiten Mal wgetnicht erneut abgerufen wurde.

verwandte Informationen