La forma en que waybackse formatean las URL es la siguiente:
http://$BASEURL/$TIMESTAMP/$TARGET
Aquí BASEURLestá generalmente http://web.archive.org/web(digo generalmente ya que no estoy seguro si es el único BASEURL)
TARGETse explica por sí mismo (en su caso http://nature.com, o alguna URL similar)
TIMESTAMPes YYYYmmddHHMMsscuando se realizó la captura (en UTC):
YYYY: Año
mm: Mes (2 dígitos - 01 a 12)
dd: Día del mes (2 dígitos - 01 a 31)
HH: Hora (2 dígitos - 00 a 23)
MM: Minuto (2 dígitos - 00 a 59)
ss: Segundo (2 dígitos - 00 a 59)
En caso de que solicite un tiempo de captura que no exista, la máquina wayback redirige a la captura más cercana para esa URL, ya sea en el futuro o en el pasado.
Puede usar esa función para obtener cada URL diaria usando curl -I(HTTP HEAD) para obtener el conjunto de 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
Esto le proporciona las URL más cercanas al mediodía en cada día de 2012. Simplemente elimine los duplicados y descargue las páginas.
Nota: La secuencia de comandos anterior probablemente se puede mejorar mucho para avanzar en caso de que REDIRECTsea para una URL más de 1 día en el futuro, pero luego requiere deconstruir la URL devuelta y ajustarla STARTal valor de fecha correcto.