Ich meine, jede Seite, die über einen bestimmten Zeitraum und ein bestimmtes Intervall von der Wayback-Maschine verfügbar ist, herunterzuladen. Zum Beispiel möchte ich von Januar 2012 bis Dezember 2012 jede Seite herunterladen, die an jedem Tag von nature.com verfügbar ist. (Nicht genau das, was ich tun möchte, aber es ist nah genug - und bietet ein gutes Beispiel.)
wget funktioniert aufgrund der einzigartigen Funktionsweise der Wayback-Maschine leider nicht.
Tools wie der Wayback Machine Downloader laden anscheinend nur die neueste Version der Seite herunter.
Die Interaktion mit der IA-API scheint ein praktikabler Weg zu sein, aber ich bin mir nicht sicher, wie das funktionieren würde.
Vielen Dank!
Antworten:
Die Art und Weise
wayback
URLs formatiert sind , sind wie folgt:Hier
BASEURL
ist normalerweisehttp://web.archive.org/web
(ich sage normalerweise, da ich nicht sicher bin, ob es die einzige BASEURL ist)TARGET
ist selbsterklärend (in Ihrem Fallhttp://nature.com
oder eine ähnliche URL)TIMESTAMP
ist,YYYYmmddHHMMss
wann die Aufnahme gemacht wurde (in UTC):YYYY
: Jahrmm
: Monat (2-stellig - 01 bis 12)dd
: Tag des Monats (2-stellig - 01 bis 31)HH
: Stunde (2-stellig - 00 bis 23)MM
: Minute (2-stellig - 00 bis 59)ss
: Zweitens (2-stellig - 00 bis 59)Wenn Sie eine Erfassungszeit anfordern, die nicht vorhanden ist, leitet der Wayback-Computer zur nächsten Erfassung für diese URL weiter, ob in der Zukunft oder in der Vergangenheit.
Mit dieser Funktion können Sie jede tägliche URL mithilfe von
curl -I
(HTTPHEAD
) abrufen , um die URLs abzurufen:Auf diese Weise erhalten Sie die URLs, die an jedem Tag des Jahres 2012 am nächsten am Mittag liegen. Entfernen Sie einfach die Duplikate und und laden Sie die Seiten herunter.
Hinweis: Das obige Skript kann wahrscheinlich erheblich verbessert werden, um vorwärts zu springen, falls
REDIRECT
es sich um eine URL handelt, die länger als 1 Tag in der Zukunft liegt. Dann muss die zurückgegebene URL dekonstruiert undSTART
auf den richtigen Datumswert angepasst werden.quelle
wget
oder eine andere URLpage-getter
mit den richtigen Optionen einstecken (beachten Sie die-I
Option zucurl
).Auf Github gibt es ein Rubinjuwel: https://github.com/hartator/wayback-machine-downloader
quelle