Le modalità di wayback
formattazione degli URL sono le seguenti:
http://$BASEURL/$TIMESTAMP/$TARGET
Ecco di BASEURL
solito http://web.archive.org/web
(dico di solito perché non sono sicuro che sia l'unico BASEURL)
TARGET
si spiega da sé (nel tuo caso http://nature.com
, o qualche URL simile)
TIMESTAMP
è YYYYmmddHHMMss
quando è stata effettuata la cattura (in UTC):
YYYY
: Anno
mm
: Mese (2 cifre - da 01 a 12)
dd
: Giorno del mese (2 cifre - da 01 a 31)
HH
: Ora (2 cifre - da 00 a 23)
MM
: Minuti (2 cifre - da 00 a 59)
ss
: Secondo (2 cifre - da 00 a 59)
Nel caso in cui si richieda un tempo di acquisizione che non esiste, la macchina di ritorno reindirizza alla cattura più vicina per quell'URL, sia in futuro che in passato.
Puoi utilizzare quella funzione per ottenere ogni URL giornaliero utilizzando curl -I
(HTTP HEAD
) per ottenere il set di URL:
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=$(${DATECMD}$START)
REDIRECT="$(curl -sI "$BASEURL/$TIMESTAMP/$TARGET" |awk '/^Location/ {print $2}')"
if [[ -z "$REDIRECT" ]]; then
echo "$BASEURL/$TIMESTAMP/$TARGET"
else
echo $REDIRECT
fi
START=$((START + 86400)) # add 24 hours
done
In questo modo riceverai gli URL più vicini a mezzogiorno di ogni giorno del 2012. Basta rimuovere i duplicati e scaricare le pagine.
Nota: lo script sopra può probabilmente essere notevolmente migliorato per saltare in avanti nel caso in cui REDIRECT
sia per un URL più di 1 giorno in futuro, ma richiede quindi la decostruzione dell'URL restituito e l'adattamento START
al valore di data corretto.