Я пытаюсь отразить веб-сайт с помощью wget, но я не хочу загружать много файлов, поэтому я использую --reject
опцию wget, чтобы не сохранить все файлы. Однако wget по-прежнему загружает все файлы, а затем удаляет файл, если он соответствует моей опции отклонения.
Можно ли как-то сказать wget не переходить по определенным ссылкам, если они совпадают с каким-то подстановочным знаком оболочки? Если wget не может этого сделать, есть ли какая-нибудь другая стандартная команда linux, которая может это сделать?
linux
wget
mirror
mirror-site
Рори
источник
источник
Ответы:
Вы также можете попробовать HTTrack, который имеет, IMO, более гибкую и интуитивно понятную логику включения / исключения. Что-то вроде этого...
Правила будут применяться по порядку и будут отменять предыдущие правила ...
источник
Похоже, это невозможно в wget
источник
В разделе --reject man wget:
«Обратите внимание, что если какой-либо из подстановочных знаков *,?, [Или] появится в элементе acclist или rejlist, он будет рассматриваться как шаблон, а не как суффикс».
Если вы делаете это, вы можете привести примеры шаблонов, которые вы используете, и того, что, по вашему мнению, должно совпадать, а это не так. Вы говорите, что они совпадают, но вы уверены?
Кроме того, убедитесь, что вы поместили этот список в кавычки, чтобы оболочка не раскрывала эти символы, прежде чем передавать аргумент (ы) в wget.
Даже если ваша система не имеет версии 1.12, прочитайте раздел руководства «Типы файлов» здесь . Согласно журналу изменений, сопровождающий добавил несколько предостережений:
источник
Вы можете ограничить уровень рекурсии с помощью
-l NUMBER
опции, если это помогает (не следуя определенному шаблону регулярных выражений).Уровень «2» загружает index.html, его дочерние сайты / images / etc и ссылки на дочернем сайте.
источник
как вы используете Wget? попробуйте использовать это таким образом:
эта команда игнорирует файлы gif, jpg и swf.
источник
Одним из обходных путей может быть запуск wget через прокси-сервер. Установите свой прокси, чтобы запретить определенные шаблоны. Это блокирует загрузку wget с самого начала.
wget загрузит и удалит файл, соответствующий шаблону -R. он также может соответствовать шаблонам, а не только расширениям или частям имен файлов. Это, однако, не мешает wget сначала скачивать, а потом удалять.
У httrack есть некоторые приятные функции, но по моему опыту способ сохранения «файла» может быть немного странным, например, если httrack встречает index.asp? Type = BASIC & PAGEID = 2234234,
он может сохранить его, но вы должны сказать это, чтобы сохранить части запроса,
например,% h% p /% n% [TYPE: @TYPE = ::]% [PAGEID: PAGEID = ::].% t символ
@ является заполнителем для вопросительного знака , вы можете переименовать файлы позже, или, может быть, вместо знака вопроса? проблема в том, что.% t добавит «.html» в конец вашего URI, у которого изначально не было «.html». И если вы его удалите, изображения, загружаемые httrack, не будут иметь расширения файла.
Лучше использовать wget ИМХО
источник