Я пытаюсь загрузить целый сайт 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 для загрузки