То, как wayback
URL - адрес отформатированные следующим образом :
http://$BASEURL/$TIMESTAMP/$TARGET
Здесь BASEURL
обычно http://web.archive.org/web
(я говорю обычно, так как я не уверен, что это единственный BASEURL)
TARGET
не требует пояснений (в вашем случае http://nature.com
, или какой-то похожий URL)
TIMESTAMP
это YYYYmmddHHMMss
когда захват был сделан (в UTC):
YYYY
Годmm
: Месяц (2 цифры - от 01 до 12)dd
: День месяца (2 цифры - от 01 до 31)HH
: Час (2 цифры - от 00 до 23)MM
: Минуты (2 цифры - от 00 до 59)ss
: Вторая (2 цифры - от 00 до 59)
В случае, если вы запрашиваете время захвата, которое не существует, машина обратного вызова перенаправляет на ближайший захват для этого URL, будь то в будущем или в прошлом.
Вы можете использовать эту функцию для получения каждого ежедневного URL, используя curl -I
(HTTP HEAD
), чтобы получить набор 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=$($$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
Это дает вам URL-адреса, которые ближе к полудню в каждый день 2012 года. Просто удалите дубликаты и и загрузите страницы.
Примечание. Приведенный выше сценарий, вероятно, может быть значительно улучшен для ускорения перехода в случае, если REDIRECT
для URL-адреса будет более 1 дня в будущем, но тогда потребуется деконструкция возвращаемого URL-адреса и корректировка START
до правильного значения даты.