Ответ 1
Загрузка всех зависимостей на странице
Первый шаг - загрузка всех ресурсов конкретной страницы. Если вы посмотрите в man-страницах для wget, вы найдете следующее:
... загрузить одну страницу и все ее реквизиты (даже если они существуют на отдельные веб-сайты), и убедитесь, что лот отображается правильно локально, этому автору нравится использовать несколько опций в дополнение к -p:
wget -E -H -k -K -p http://<site>/<document>
Получение нескольких страниц
К сожалению, это работает только на странице. Вы можете включить рекурсию с помощью -r
, но затем вы столкнетесь с проблемой следующих внешних сайтов и взрыва. Если вы знаете полный список доменов, которые можно использовать для ресурсов, вы можете ограничить его только теми, кто использует -D
, но это может быть сложно сделать. Я рекомендую использовать комбинацию -np
(без родительских каталогов) и -l
, чтобы ограничить глубину рекурсии. Вы можете начать получать другие сайты, но, по крайней мере, они будут ограничены. Если у вас возникли проблемы, вы можете использовать --exclude-domains
, чтобы ограничить известные вызывающие проблемы. В конце концов, я думаю, что это лучше всего:
wget -E -H -k -K -p -np -l 1 http://<site>/level
Ограничение доменов
Чтобы выяснить, какие домены необходимо включить/исключить, вы можете использовать этот ответ для grep страницы или двух (вы хотели бы grep .orig
файл) и перечислить ссылки внутри них. Оттуда вы сможете создать достойный список доменов, которые должны быть включены и ограничить его использованием аргумента -D
. Или вы можете хотя бы найти некоторые домены, которые вы не хотите включать, и ограничить их использованием --exclude-domains
. Наконец, вы можете использовать аргумент -Q
, чтобы ограничить объем загружаемых данных в качестве защиты, чтобы предотвратить заполнение вашего диска.
Описания аргументов
-
-E
- Если файл типа application/xhtml + xml или text/html загружен, и URL-адрес не заканчивается regexp
\.[Hh][Tt][Mm][Ll]?,
this опция приведет к добавлению суффикса .html к локальному имени файла.
- Если файл типа application/xhtml + xml или text/html загружен, и URL-адрес не заканчивается regexp
-
-H
- Включить переключение между узлами при рекурсивном извлечении.
-
-k
- После завершения загрузки конвертируйте ссылки в документе, чтобы сделать их подходящими для локального просмотра. Это влияет не только на видимые гиперссылки, но любая часть документа, которая ссылается на внешний контент, например встроенные изображения, ссылки на таблицы стилей, гиперссылки на не-HTML-контент и т.д.
-
-k
- При преобразовании файла создайте резервную копию исходной версии с суффиксом .orig.
-
-p
- Этот параметр заставляет Wget загружать все файлы, необходимые для корректного отображения данной HTML-страницы. Сюда относятся такие вещи, как встроенные изображения, звуки и ссылочные таблицы стилей.
-
-np
- Никогда не поднимайтесь в родительский каталог при рекурсивном возврате. Это полезный вариант, поскольку он гарантирует, что только файлы ниже будет загружена определенная иерархия.
-
-l
- Укажите глубину глубины глубины рекурсии.
-
-D
- Установить домены, которым необходимо следовать. domain-list - список доменов, разделенных запятыми. Обратите внимание, что он не включается -H.
-
--exclude-domains
- Укажите домены, которые не должны выполняться.
-
-Q
- Укажите квоту загрузки для автоматического поиска. Значение может быть указано в байтах (по умолчанию), килобайтах (с суффиксом k) или мегабайтах (с суффиксом m).