Как загрузить весь сайт с помощью wget, включая его изображения

Как загрузить весь сайт с помощью wget, включая его изображения

Я пытаюсь загрузить целый сайт wgetтаким образом:

wget -r http://whatever/

wget -m http://whatever/

Но он загружает только страницы с текстом, без изображений. Как мне загрузить страницы с текстом и изображениями? Что я здесь упускаю?

решение1

Команда wget, которую вам нужно будет использовать, намного длиннее, как описано ниже. Таким образом, вы можете захотеть зафиксировать ее в файле wholesite.sh, например, сделать его исполняемым и запустить. Она создаст каталог url и подкаталоги ресурсов сайта, включая изображения, js, css и т. д.

wget \
     --recursive \
     --level 5 \
     --no-clobber \
     --page-requisites \
     --adjust-extension \
     --span-hosts \
     --convert-links \
     --restrict-file-names=windows \
     --domains yoursite.com \
     --no-parent \
         yoursite.com

Объяснение

--recursive Это указывает, сколько подкаталогов ресурсов сайта вы хотите получить (поскольку ресурсы, такие как изображения, часто хранятся в подкаталогах сайта). Максимальная глубина поиска ресурсов по умолчанию составляет 5 подкаталогов. Вы можете изменить это с помощью флага levelниже.

--level 5Поиск активов в 5 подкаталогах. Я бы рекомендовал увеличить или уменьшить это значение, если целевой сайт больше или меньше соответственно.

--no-clobber Не перезаписывайте существующие файлы.

--page-requisites заставляет wgetзагрузить все файлы, необходимые для правильного отображения данной HTML-страницы, которая включаетизображений, css, js и т. д.

--adjust-extension Сохраняет правильные расширения файлов для .html, .css и других ресурсов.

--span-hosts Включите также необходимые активы извне.

--convert-links Обновите ссылки на сайты, чтобы они работали как файлы в подкаталогах на вашем локальном компьютере (для локального просмотра).

--restrict-file-names=windows Измените имена файлов так, чтобы они работали и в Windows, если вы используете эту команду в системе Windows.

--domains yoursite.com Не переходите по ссылкам за пределами этого домена.

--no-parent Не переходите по ссылкам за пределами каталога, который вы указали.

yoursite.com# URL для загрузки


Пример адаптирован из:https://gist.github.com/christiangenco/8531418

Связанный контент