Die Art und Weise wayback
URLs formatiert sind, sind wie folgt:
http://$BASEURL/$TIMESTAMP/$TARGET
Hier BASEURL
ist normalerweise http://web.archive.org/web
(ich sage normalerweise, da ich nicht sicher bin, ob es die einzige BASEURL ist)
TARGET
ist selbsterklärend (in Ihrem Fall http://nature.com
oder einer ähnlichen URL)
TIMESTAMP
ist, YYYYmmddHHMMss
wenn die Erfassung gemacht wurde (in UTC):
YYYY
Jahrmm
: 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 REDIRECT
eine URL länger als einen Tag in der Zukunft vorhanden ist. In diesem Fall müssen Sie die zurückgegebene URL dekonstruieren und START
den korrekten Datumswert einstellen .