Les wayback
URL sont formatées comme suit:
http://$BASEURL/$TIMESTAMP/$TARGET
Voici BASEURL
généralement http://web.archive.org/web
(je dis généralement car je ne sais pas si c'est le seul BASEURL)
TARGET
est explicite (dans votre cas http://nature.com
, ou une URL similaire)
TIMESTAMP
c'est YYYYmmddHHMMss
quand 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 REDIRECT
s'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.