Les waybackURL sont formatées comme suit:
http://$BASEURL/$TIMESTAMP/$TARGET
Voici BASEURLgénéralement http://web.archive.org/web(je dis généralement car je ne sais pas si c'est le seul BASEURL)
TARGETest explicite (dans votre cas http://nature.com, ou une URL similaire)
TIMESTAMPc'est YYYYmmddHHMMssquand la capture a été faite (en UTC):
YYYY: Année
mm: Mois (2 chiffres - 01 à 12)
dd: Jour du mois (2 chiffres - 01 à 31)
HH: Heure (2 chiffres - 00 à 23)
MM: Minute (2 chiffres - 00 à 59)
ss: Deuxième (2 chiffres - 00 à 59)
Si vous demandez une heure de capture qui n'existe pas, la machine de renvoi redirige vers la capture la plus proche pour cette URL, que ce soit dans le futur ou dans le passé.
Vous pouvez utiliser cette fonctionnalité pour obtenir chaque URL quotidienne à l'aide de curl -I(HTTP HEAD) pour obtenir l'ensemble d'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
Cela vous donne les URL les plus proches de midi chaque jour de 2012. Supprimez simplement les doublons et téléchargez les pages.
Remarque: Le script ci-dessus peut probablement être considérablement amélioré pour avancer dans le cas où il REDIRECTs'agit d'une URL plus d'un jour à l'avenir, mais cela nécessite ensuite de déconstruire l'URL retournée et de l'ajuster STARTà la valeur de date correcte.