Загрузите весь веб-сайт из Интернет-архива Wayback Machine.
Вам необходимо установить Ruby в вашей системе (>= 1.9.2) - если у вас его еще нет. Затем запустите:
gem install wayback_machine_downloader
Совет: Если вы столкнулись с ошибками разрешений, возможно, вам придется добавить sudo
перед этой командой.
Запустите wayback_machine_downloader, указав в качестве параметра базовый URL-адрес веб-сайта, который вы хотите получить (например, http://example.com):
wayback_machine_downloader http://example.com
Он загрузит последнюю версию каждого файла, присутствующего на 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 provided 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) и т. д. Его можно использовать в сочетании с меткой времени. 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
-e, --exact-url
Необязательный. Если вы хотите получить только файл, точно соответствующий указанному URL-адресу, вы можете использовать этот флаг. Это позволит избежать загрузки чего-либо еще.
Например, если вы хотите загрузить только файл домашней страницы в формате HTML сайта example.com:
wayback_machine_downloader http://example.com --exact-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"
-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
-p, --snapshot-pages NUMBER
Необязательный. Укажите максимальное количество страниц моментальных снимков, которые следует учитывать. Подсчитайте в среднем 150 000 снимков на страницу. 100 — это максимальное количество страниц моментальных снимков по умолчанию, которого должно быть достаточно для большинства веб-сайтов. Используйте большее число, если хотите загрузить очень большой веб-сайт.
Пример:
wayback_machine_downloader http://example.com --snapshot-pages 300
-c, --concurrency NUMBER
Необязательный. Укажите количество нескольких файлов, которые вы хотите загрузить одновременно. Позволяет значительно ускорить загрузку сайта. По умолчанию загрузка одного файла за раз.
Пример:
wayback_machine_downloader http://example.com --concurrency 20
В качестве альтернативного способа установки у нас есть образ Docker! Получите образ Docker wayback-machine-downloader следующим образом:
docker pull hartator/wayback-machine-downloader
После этого вы сможете использовать образ Docker для загрузки веб-сайтов. Например:
docker run --rm -it -v $PWD/websites:/websites hartator/wayback-machine-downloader http://example.com
Вклады приветствуются! Просто отправьте запрос на извлечение через GitHub.
Чтобы запустить тесты:
bundle install
bundle exec rake test