Подтвердить что ты не робот

Как отразить только часть сайта?

Я не могу заставить wget отображать раздел веб-сайта (путь к папке ниже root) - он работает только с домашней страницы сайта.

Я пробовал много вариантов - вот один пример

wget -rkp -l3 -np  http://somewebsite/subpath/down/here/

Пока я хочу отразить ссылки на контент ниже этого URL-адреса - мне также нужно загрузить все ресурсы страницы, которые не находятся в этом пути.

Кажется, что хорошо работает на главной странице (/), но я не могу получить ее для всех подпапок.

4b9b3361

Ответ 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.