Восстановление сайтов с помощью Python и Ruby


Восстановление сайтов из вебархива Python и Ruby

Восстановление с помощью Python

Сегодня рассмотрим либу - wayback-machine-scraper для восстановления данных из вебархива на Python. Данная библиотека подойдет для тех, кто хочет получить данные в короткие сроки, т.к. библиотека обрабатывает данные намного быстрее ruby, но также имеет недостатки. Так в данной библиотеке по-умолчанию не сохраняются урлы и такой вид восстановления подойдет больше для получения данных с дальнейшей обработкой. Восстановление возможно с применением регулярных выражений, что поможет получить основной текст страницы удалив теги. Таким образом можно получить тексты со всех страниц сайта для дальнейшего размещения на свой ресурс.

Для использования библиотеки необходим Python 3+ (загрузить python можно по ссылке - https://www.python.org/). После чего, открываем командную строку (обязательно убедитесь, чтo Python установлен на вашем ПК), и вводим:


    pip install wayback-machine-scraper

Дождитесь установки. После чего в той же командной строке можно приступать к восстановлению ресурса. Обратите внимание, что данный скрапер не восстанавливает стили и системные файлы, вы получите только страницы сайта с данными. Для восстановления ресурса по-умолчанию достаточно указать ресурс и временные точки с какой и по какую отметку времени нужно восстановить данные. Например, вводим в командной строке:


    wayback-machine-scraper -f 20180101 -t 20191228 python.org

20180101 - временная отметка 1 января 2018 года (ГГГГММДД) Г-год, М-месяц, Д-дата где -f это с какой точки нужно восстановить данные

- t - до какой точки восстанавливаем данные

python.org - это доменное имя, данные с которого мы хотим восстановить

После чего нажимаем Enter и смотрим как библиотека восстанавливает данные. По окончании восстановления по-умолчанию на системном диске в папке пользователя появится директория с названием website, в которой и будут все данные, которые восстановлены. Библиотека позволяет задать директорию в которую необходимо сохранять данные:


    wayback-machine-scraper -o data -f 20180101 -t 20191228 python.org

в таком случае данные будут сохранены в пользовательской папке с названием data (папка будет создана автоматически).

Все опции для настройки скрипта можно получить используя команду -h в командной строке в таком формате:


    wayback-machine-scraper - h

Если вы хотите сохранить как данные так скрипты и стили восстанавливаемого сайта, рекомендуем использовать RUBY wayback_machine_downloader


Восстановление с помощью RUBY

Теперь по поводу Wayback Machine Downloader на RUBY. Данная библиотека удобнее и предназначена для скачивания ресурса из вебархива с дальнейшим размещением на хостинге. Минимум работы - максимум возможностей. После восстановления сайта вы получаете статический сайт со всеми кишками. Достаточно такой ресурс разместить на хостинге, удалить внешние ссылки, немного подправить внешний вид, избавиться от 404 + удалить данные предыдущего хозяина и сайт готов. Очень полезное дополнение для тех, кто использует архиварикс.

Для работы с данной библиотекой будет необходимо установить RUBY, для этого необходимо сходить на официальный сайт руби - https://www.ruby-lang.org/ru/downloads/ и скачать его. После скачивания, установить на ваш ПК, мы пропустим этот шаг, т.к. запустить установку и нажать несколько раз кнопку next думаю вам удастся и без моей помощи)). После установки нажимаем пуск на ПК в поиске вводим RUBY, нам выпадет следующее - Start Command Prompt with Ruby - запускаем и получаем такую же командную строку как и в случае с Python, но это командная строка руби.

Следующим шагом, в открывшейся командной строке нам необходимо установить библиотеку руби, которая будет восстанавливать сайты. Вводим:


    gem install wayback_machine_downloader

и нажимаем enter, как только библиотека будет установлена, мы сможем начать восстановление, ждем, пока руби установит библиотеку...

Как только все процессы будут завершены и вы увидите мигающий курсор в командной строке, можно приступать.

Для восстановления всего сайта со всеми временными метками необходимо ввести в командной строке следующую команду:


    wayback_machine_downloader https://4python.pythonanywhere.com/

где https://4python.pythonanywhere.com/ - адрес сайта, который вы хотите восстановить

Все данные будут загружены на системный диск, в директории пользователя в папку websites. Следуя документации папку также можно изменить, как и в случае с Python.

При желании, можно загрузить все копии ресурса, и все копии страниц:


    wayback_machine_downloader https://4python.pythonanywhere.com/ --all-timestamps

Также есть возможность восстановить ресурс с указанной отметки и до последней сохраненной, без указания последней:


    wayback_machine_downloader https://4python.pythonanywhere.com/ --from 20060716231334

Или же с начала и до указанной временной точки:


    wayback_machine_downloader https://4python.pythonanywhere.com/ --to 20060716231334

Также возможно использование с и до временной точки:


    wayback_machine_downloader https://4python.pythonanywhere.com/
    --from 20060716231334 -- to 20070716231334

Также, присутствует возможность загрузки файлов определенного формата, если вам нужны только стили, то возможна загрузка только файлов css или скриптов например. Будьте осторожны, используя данную библиотеку возможно загрузить вирус из архива, так как некоторые сайты сохранены архивом с вирусами.