Спойлер

пятница, 13 августа 2021 г.

Как выкачать архив сайта с web.archive.org (Wayback Machine)

Загрузчик Wayback Machine

Загрузите весь веб-сайт с Internet Archive Wayback Machine.

Вам необходимо установить Ruby в вашей системе (> = 1.9.2) - если у вас его еще нет. Затем запустите:

gem install wayback_machine_downloader

Совет: Если вы столкнетесь с ошибками разрешений, вам, возможно, придется добавить sudo перед этой командой.

Далее находим в пуске - Start Command Prompt with Ruby и запускаем.




Основное использование

Запустите wayback_machine_downloader с базовым URL-адресом веб-сайта, который вы хотите получить в качестве параметра (например, http://example.com ):

wayback_machine_downloader http://example.com
Загрузка по умолчанию идет в папку %USERPROFILE%\websites

Как это устроено

Он загрузит последнюю версию каждого файла, имеющегося на Wayback Machine, в ./websites/example.com/. Он также воссоздает структуру каталогов и автоматически создает index.htmlстраницы для бесперебойной работы с Apache и Nginx. Все загруженные файлы являются оригинальными, а не переписанными версиями Wayback Machine. Таким образом, структура URL-адресов и ссылок такая же, как и раньше.

Расширенное использование

Usage: wayback_machine_downloader http://example.com

Download an entire website from the Wayback Machine.

Optional options:
    -d, --directory PATH             Directory to save the downloaded files into
				     Default is ./websites/ plus the domain name
    -s, --all-timestamps             Download all snapshots/timestamps for a given website
    -f, --from TIMESTAMP             Only files on or after timestamp supplied (ie. 20060716231334)
    -t, --to TIMESTAMP               Only files on or before timestamp supplied (ie. 20100916231334)
    -e, --exact-url                  Download only the url provied and not the full site
    -o, --only ONLY_FILTER           Restrict downloading to urls that match this filter
				     (use // notation for the filter to be treated as a regex)
    -x, --exclude EXCLUDE_FILTER     Skip downloading of urls that match this filter
				     (use // notation for the filter to be treated as a regex)
    -a, --all                        Expand downloading to error files (40x and 50x) and redirections (30x)
    -c, --concurrency NUMBER         Number of multiple files to download at a time
				     Default is one file at a time (ie. 20)
    -p, --maximum-snapshot NUMBER    Maximum snapshot pages to consider (Default is 100)
				     Count an average of 150,000 snapshots per page
    -l, --list                       Only list file urls in a JSON format with the archived timestamps, won't download anything

Укажите каталог для сохранения файлов

-d, --directory PATH

По желанию. По умолчанию Wayback Machine Downloader загружает файлы на, ./websites/за которым следует доменное имя веб-сайта. Вы можете захотеть сохранить файлы в определенном каталоге, используя эту опцию.

Пример:

wayback_machine_downloader http://example.com --directory downloaded-backup/

Все отметки времени

-s, --all-timestamps 

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

Пример:

wayback_machine_downloader http://example.com --all-timestamps 

Will download:
	websites/example.com/20060715085250/index.html
	websites/example.com/20051120005053/index.html
	websites/example.com/20060111095815/img/logo.png
	...

От отметки времени

-f, --from TIMESTAMP

По желанию. Вы можете указать временную метку from, чтобы заблокировать резервную копию для определенной версии веб-сайта. Метки времени можно найти внутри URL-адресов обычного веб-сайта Wayback Machine (например, https://web.archive.org/web/20060716231334/http://example.com ). Вы также можете использовать годы (2006), годы + месяц (200607) и т. Д. Его можно использовать в сочетании с To Timestamp. Затем Wayback Machine Downloader будет получать только версии файлов, начиная с указанной отметки времени или позже.

Пример:

wayback_machine_downloader http://example.com --from 20060716231334

К отметке времени

-t, --to TIMESTAMP

По желанию. Вы можете указать метку времени, чтобы заблокировать резервную копию для определенной версии веб-сайта. Метки времени можно найти внутри URL-адресов обычного веб-сайта Wayback Machine (например, https://web.archive.org/web/20100916231334/http://example.com ). Вы также можете использовать годы (2010), годы + месяц (201009) и т. Д. Его можно использовать в сочетании с отметкой времени «От». Затем программа Wayback Machine Downloader будет получать только версии файлов до указанной отметки времени или раньше.

Пример:

wayback_machine_downloader http://example.com --to 20100916231334

Точный URL

-e, --exact-url 

По желанию. Если вы хотите получить только файл, точно соответствующий указанному URL-адресу, вы можете использовать этот флаг. Это позволит избежать загрузки чего-либо еще.

Например, если вы хотите загрузить только html-файл домашней страницы example.com:

wayback_machine_downloader http://example.com --exact-url 

Только URL-фильтр

 -o, --only ONLY_FILTER

По желанию. Вы можете получить файлы определенного типа (например, .pdf, .jpg, .wrd ...) или находящиеся в определенном каталоге. Для этого вы можете указать --onlyфлаг со строкой или регулярным выражением (используя нотацию / regex /), чтобы ограничить количество файлов, загружаемых Wayback Machine Downloader.

Например, если вы хотите загружать файлы только внутри определенного my_directory:

wayback_machine_downloader http://example.com --only my_directory

Или, если вы хотите загрузить все изображения без чего-либо еще:

wayback_machine_downloader http://example.com --only "/\.(gif|jpg|jpeg)$/i"

Исключить URL-фильтр

 -x, --exclude EXCLUDE_FILTER

По желанию. Вы можете получить файлы, которые не относятся к определенному типу (например, .pdf, .jpg, .wrd ...) или не находятся в определенном каталоге. Для этого вы можете указать --excludeфлаг со строкой или регулярным выражением (используя нотацию '/ regex /'), чтобы ограничить, какие файлы будет загружать Wayback Machine Downloader.

Например, если вы хотите избежать загрузки файлов внутри my_directory:

wayback_machine_downloader http://example.com --exclude my_directory

Или, если вы хотите скачать все, кроме изображений:

wayback_machine_downloader http://example.com --exclude "/\.(gif|jpg|jpeg)$/i"

Расширить загрузку на все типы файлов

 -a, --all

По желанию. По умолчанию Wayback Machine Downloader ограничивается файлами, которые ответили кодом 200 OK. Если вам также нужны файлы ошибок (коды 40x и 50x) или файлы перенаправления (коды 30x), вы можете использовать флаг --allили, -aи Wayback Machine Downloader загрузит их в дополнение к файлам 200 OK. Также будут сохранены пустые файлы, которые по умолчанию удаляются.

Пример:

wayback_machine_downloader http://example.com --all

Только список файлов без загрузки

 -l, --list

Он просто отобразит файлы, которые нужно загрузить, с их временными метками и URL-адресами моментальных снимков. Формат вывода - JSON. Он ничего не скачивает. Это полезно для отладки или для подключения к другому приложению.

Пример:

wayback_machine_downloader http://example.com --list

Maximum number of snapshot pages to consider

-p, --snapshot-pages NUMBER    

Optional. Specify the maximum number of snapshot pages to consider. Count an average of 150,000 snapshots per page. 100 is the default maximum number of snapshot pages and should be sufficient for most websites. Use a bigger number if you want to download a very large website.

Example:

wayback_machine_downloader http://example.com --snapshot-pages 300    

Download multiple files at a time

-c, --concurrency NUMBER  

Optional. Specify the number of multiple files you want to download at the same time. Allows one to speed up the download of a website significantly. Default is to download one file at a time.

Example:

wayback_machine_downloader http://example.com --concurrency 20

Using the Docker image

As an alternative installation way, we have a Docker image! Retrieve the wayback-machine-downloader Docker image this way:

docker pull hartator/wayback-machine-downloader

Then, you should be able to use the Docker image to download websites. For example:

docker run --rm -it -v $PWD/websites:/websites hartator/wayback-machine-downloader http://example.com

Contributing

Contributions are welcome! Just submit a pull request via GitHub.

Чтобы запустить тесты:

bundle install
bundle exec rake test

Комментариев нет:

Отправить комментарий