Vorgehensweise: Laden Sie eine Seite über einen bestimmten Zeitraum von der Wayback-Maschine herunter

1501
orlando marinella

Was ich meine, ist das Herunterladen jeder von der Wayback Machine verfügbaren Seite über einen bestimmten Zeitraum und Intervall. Ich möchte zum Beispiel jede Seite, die an jedem Tag von nature.com aus verfügbar ist, von Januar 2012 bis Dezember 2012 herunterladen. (Nicht genau das, was ich tun möchte, aber nahe genug - und ein gutes Beispiel.)

Wget funktioniert leider nicht, da die Wayback-Maschine so einzigartig ist.

Tools wie der Wayback Machine Downloader laden nur die aktuellste Version der Seite herunter.

Die Interaktion mit der IA-API scheint ein gangbarer Weg zu sein, aber ich bin nicht sicher, wie das funktionieren würde.

Vielen Dank!

11
Sie müssten dazu definitiv ein Skript schreiben. Vielleicht cURL? PulseJet vor 7 Jahren 0
Ich denke, es wäre möglich, ein Skript zu schreiben und sich auf cURL zu verlassen, aber ich bin mit der Memento-API, die das Internet-Archiv verwendet, nicht vertraut, und glaube nicht, dass ich es so gesehen habe. orlando marinella vor 7 Jahren 0
Ich muss a) mehrere Standorte gleichzeitig machen, b) über einen langen Zeitraum (z. B. 1998 bis 2001) einen Schnappschuss von jedem Standort erstellen und c) angeben können, wie viele Schnappschüsse ich dieses Intervall übernehmen möchte. orlando marinella vor 7 Jahren 0
Mögliches Duplikat: https://superuser.com/questions/828907/how-to-download-a-website-von-der-archiv-org-wayback-maschine PulseJet vor 7 Jahren 0
Gleiches Problem. Sie wollen nur eine Seite, wie es scheint - die Dokumentation für den WB Machine Downloader ist unklar, ob sie in einem solchen Intervall funktioniert oder nicht. orlando marinella vor 7 Jahren 0
Probieren Sie es einfach aus! duenni vor 7 Jahren 0
@duenni Ja, nein, so funktioniert es nicht. orlando marinella vor 7 Jahren 0

2 Antworten auf die Frage

5
Samveen

Die Art und Weise waybackURLs formatiert sind, sind wie folgt:

http://$BASEURL/$TIMESTAMP/$TARGET 

Hier BASEURList normalerweise http://web.archive.org/web(ich sage normalerweise, da ich nicht sicher bin, ob es die einzige BASEURL ist)

TARGETist selbsterklärend (in Ihrem Fall http://nature.comoder einer ähnlichen URL)

TIMESTAMPist, YYYYmmddHHMMsswenn die Erfassung gemacht wurde (in UTC):

  • YYYYJahr
  • mm: Monat (2 Ziffern - 01 bis 12)
  • dd: Tag des Monats (2-stellig - 01 bis 31)
  • HH: Stunde (2 Ziffern - 00 bis 23)
  • MM: Minute (2-stellig - 00 bis 59)
  • ss: Zweiter (2 stellig - 00 bis 59)

Falls Sie eine nicht vorhandene Aufnahmezeit anfordern, leitet der Wayback-Computer zur nächsten Aufnahme für diese URL um, entweder in der Zukunft oder in der Vergangenheit.

Sie können diese Funktion verwenden, um jede tägliche URL mithilfe von curl -I(HTTP HEAD) abzurufen, um die URLs abzurufen:

BASEURL='http://web.archive.org/web' TARGET="SET_THIS" START=1325419200 # Jan 1 2012 12:00:00 UTC (Noon)  END=1356998400 # Tue Jan 1 00:00:00 UTC 2013 if uname -s |grep -q 'Darwin' ; then DATECMD="date -u '+%Y%m%d%H%M%S' -r " elif uname -s |grep -q 'Linux'; then DATECMD="date -u +%Y%m%d%H%M%S -d @" fi   while [[ $START -lt $END ]]; do TIMESTAMP=$($$START) REDIRECT="$(curl -sI "$BASEURL/$TIMESTAMP/$TARGET" |awk '/^Location/ ')" if [[ -z "$REDIRECT" ]]; then echo "$BASEURL/$TIMESTAMP/$TARGET" else echo $REDIRECT fi START=$((START + 86400)) # add 24 hours done 

Dadurch erhalten Sie an jedem Tag des Jahres 2012 die URLs, die dem Mittag am nächsten liegen. Entfernen Sie einfach die Duplikate und laden Sie die Seiten herunter.

Hinweis: Das obige Skript kann möglicherweise erheblich verbessert werden, um vorwärts zu springen, falls REDIRECTeine URL länger als einen Tag in der Zukunft vorhanden ist. In diesem Fall müssen Sie die zurückgegebene URL dekonstruieren und STARTden korrekten Datumswert einstellen .

Das ist großartig, warum? weil wir Fakten und Beweise dafür haben, wann jemand archivierte Inhalte und web.archive.org archivierte Inhalte in der Vergangenheit entfernt hat. Dieses Skript würde archivierten Inhalt speichern. Genial. DeerSpotter vor 7 Jahren 0
4
duenni

Auf Github befindet sich ein Rubin-Edelstein: https://github.com/hartator/wayback-machine-downloader

Das ist fantastisch. DeerSpotter vor 7 Jahren 0