Я хочу использовать Wget для сохранения отдельных веб-страниц (не рекурсивно, не целых сайтов) для справки. Очень похоже на "Веб-страницу Firefox".
Моя первая проблема: я не могу заставить Wget сохранить фоновые изображения, указанные в CSS. Даже если бы он сохранил файлы фоновых изображений, я не думаю, что --convert-links преобразует URL-адреса фоновых изображений в файле CSS, чтобы они указывали на локально сохраненные фоновые изображения. Firefox имеет ту же проблему.
Вторая проблема: если на странице, которую я хочу сохранить, есть изображения, размещенные на другом сервере (например, реклама), они не будут включены. --span-hosts не решает эту проблему с помощью строки ниже.
Я использую:
wget --no-parent --timestamping --convert-links --page-requisites --no-directories --no-host-directories -erobots=off http://domain.tld/webpage.html
Ответы:
Со страницы руководства Wget :
Также в случае, если
robots.txt
вы не можете добавить-e robots=off
источник
wget --adjust-extension --span-hosts --convert-links --backup-converted --page-requisites [url]
wget --recursive --no-clobber --page-requisites --html-extension --convert-links --restrict-file-names=windows
[url]Команда
wget
предлагает опцию--mirror
, которая делает то же самое, что и:Вы также можете
-x
добавить целую иерархию каталогов для сайта, включая имя хоста.Возможно, вы не смогли бы найти это, если вы не используете самую последнюю версию
wget
.источник
Похоже,
wget
и Firefox не анализирует CSS для ссылок, чтобы включить эти файлы в загрузку. Вы можете обойти эти ограничения, написав все, что можете, и написав сценарий извлечения ссылок из любого CSS или Javascript в загруженных файлах, чтобы создать список файлов, которые вы пропустили. Затем второй прогонwget
по этому списку ссылок может захватить все, что было пропущено (используйте-i
флаг, чтобы указать URL-адреса списка файлов).Если вам нравится Perl, в CPAN есть модуль CSS :: Parser, который может дать вам простой способ извлечения ссылок таким способом.
Обратите внимание, что
wget
анализируется только определенная разметка html (href
/src
) и css uris (url()
), чтобы определить, какие реквизиты страницы нужно получить. Вы можете попробовать использовать надстройки Firefox, такие как DOM Inspector или Firebug, чтобы выяснить, добавляются ли сторонние изображения, которые вы не получаете, через Javascript - если это так, вам нужно прибегнуть к скрипту или плагину Firefox, чтобы получить их слишком.источник
Я сделал Webtography для аналогичной цели: https://webjay.github.io/webtography/
Он использует Wget и помещает сайт в хранилище вашей учетной записи GitHub.
Я использую эти аргументы:
https://github.com/webjay/webtography/blob/master/lib/wget.js#L15-L26
источник