Сохранение страниц в Web Archive из командной строки Linux

Allsoft

Архив интернета (Web Archive) - это сервис который архивирует и предоставляет доступ к большей части «открытого» интернета. Позволяет сохранять сайты или отдельные страницы, в том числе просматривать страницы в прошлом.

К примеру, как выглядел g-soft.info

2012 год G-soft.info 2012
2014 год G-soft.info 2014
2016 год G-soft.info 2016
2018 год G-soft.info 2018

Web Archive так же используется Cloudflare для функции Always Online, позволяющая отображать пользователям последнюю копию страницы, в случае недоступности сервера

Cloudflare Always Online

Создаем скрипт для сохранение страниц в Web Archive

У Web Archive нет готового API для создания копии страниц, только для проверки их наличия.

Необходимо создать новый баш скрипт

nano web.sh

со следующим тестом


#!/bin/bash
URL="$1"
USERAGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"

if [ $# -eq 0 ];
then
        echo "not set URL"
        exit
fi

while IFS= read -r line; do

if [[ $line =~ "HTTP/2" ]];
then
        case $(echo $line|awk '{print $2}') in
        200) echo "200 OK";;
        302) echo "302 Found";;
        520) echo "520 Unknown Error";;
        523) echo "523 Origin Is Unreachable";;
        *  ) echo $line;;
        esac
fi

if [[ $line =~ "location" ]] && [[ ! $line =~ "x-location" ]];
then
        echo $line
fi

done < <(curl -I -Ss https://web.archive.org/save/$1 --user-agent "$USERAGENT")

сохраняем его.

устанавливаем права на запуск

chmod +x web.sh

Сохраняем страницу в Web Archive

В качестве ответа может вернутся статус 520, это не является ошибкой. Страница для пере направления еще не сформирована.
Можно попробовать выполнить скрипт повторно.

Запускаем скрипт, в качестве параметра передает URL который мы хотим сохранить.

./web.sh https://g-soft.info

в результате нам вернется статус и URL с последней копией.

./web.sh https://g-soft.info
302 Found
location: https://web.archive.org/web/20211208081317/https://g-soft.info/
Добавить комментарий