Как отразить только часть сайта?
Я не могу заставить wget отображать раздел веб-сайта (путь к папке ниже root) - он работает только с домашней страницы сайта.
Я пробовал много вариантов - вот один пример
wget -rkp -l3 -np http://somewebsite/subpath/down/here/
Пока я хочу отразить ссылки на контент ниже этого URL-адреса - мне также нужно загрузить все ресурсы страницы, которые не находятся в этом пути.
Кажется, что хорошо работает на главной странице (/
), но я не могу получить ее для всех подпапок.
Ответы
Ответ 1
Используйте опции --mirror
(-m
) и --no-parent
(-np
), а также несколько классных, как в этом примере:
wget --mirror --page-requisites --adjust-extension --no-parent --convert-links
--directory-prefix=sousers http://stackoverflow.com/users
Ответ 2
Обычно я использую:
wget -m -np -p $url
Ответ 3
Я использую павук для создания зеркал, так как для этого он казался намного лучше с этой целью только с самого начала. Вы можете использовать что-то вроде этого:
/usr/bin/pavuk -enable_js -fnrules F '*.php?*' '%o.php' -tr_str_str '?' '_questionmark_' \
-norobots -dont_limit_inlines -dont_leave_dir \
http://www.example.com/some_directory/ >OUT 2>ERR
Ответ 4
Проверьте archivebox.io, это самодостаточный инструмент с открытым исходным кодом, который создает локальный, статический, просматриваемый клон HTML-сайтов (он сохраняет HTML, JS, медиа файлы, PDF файлы, снимки экрана, статические ресурсы и многое другое).
По умолчанию он только архивирует указанный вами URL, но вскоре мы добавим --depth=n
, который позволит вам рекурсивно архивировать ссылки с указанного URL.