Очистить весь сайт - PullRequest
       9

Очистить весь сайт

40 голосов
/ 13 февраля 2012

Я ищу рекомендации для программы, чтобы очистить и загрузить весь корпоративный сайт.

Сайт работает на CMS, которая перестала работать, и ее исправление обходится дорого, и мы можем перестроить сайт.

Так что я хотел бы просто получить весь сайт в виде простого html / css / image контента и вносить в него незначительные обновления по мере необходимости, пока не появится новый сайт.

Есть рекомендации?

Ответы [ 5 ]

57 голосов
/ 13 февраля 2012
wget \
     --recursive \
     --no-clobber \
     --page-requisites \
     --html-extension \
     --convert-links \
     --restrict-file-names=windows \
     --domains website.org \
     --no-parent \
         www.website.com

Подробнее об этом здесь .

32 голосов
/ 05 июня 2014

Ничто из вышеперечисленного не получило именно то, что мне было нужно (весь сайт и все активы). Это сработало, хотя.

Сначала следуйте этому руководству, чтобы получить wget для OSX.

Затем запустите это

wget --recursive --html-extension --page-requisites --convert-links http://website.com
25 голосов
/ 28 сентября 2016

Я знаю, что это супер старое, и я просто хотел положить свои 2 цента.

wget -m -k -K -E -l 7 -t 6 -w 5 http://www.website.com

Небольшое разъяснение относительно каждого из переключателей:

-m По сути, это означает «зеркальное отображение сайта», и оно рекурсивно захватывает страницы и изображения при прохождении через сайт.Он проверяет временную метку, поэтому, если вы запустите wget второй раз с этим переключателем, он будет обновлять только те файлы / страницы, которые новее, чем в предыдущий раз.

-k Это изменит ссылки в html, чтобы они указывалив локальные файлы.Если вместо использования таких вещей, как page2.html в качестве ссылок на вашем сайте, вы на самом деле использовали полный http://www.website.com/page2.html, вам, вероятно, понадобится / понадобится это.Я включаю его только для того, чтобы быть в безопасности - скорее всего, по крайней мере 1 ссылка вызовет проблему в противном случае.

-K Опция выше (строчная k) редактирует HTML.Если вы также хотите использовать «нетронутую» версию, используйте этот переключатель, и он сохранит как измененную версию, так и оригинал.Это просто хорошая практика, если что-то не так, и вы хотите сравнить обе версии.Вы всегда можете удалить тот, который вам не нужен позже.

-E Это сохраняет HTML и CSS с «правильными расширениями».Осторожнее с этим - если на вашем сайте нет расширений .html на каждой странице, это добавит его.Однако, если на вашем сайте уже есть все файлы с именами, похожими на «.htm», теперь вы получите «.htm.html».

-l 7 По умолчанию -m, который мы использовали выше, будетрекурсировать / паук через весь сайт.Обычно это нормально.Но иногда ваш сайт будет иметь бесконечный цикл, и в этом случае wget будет загружаться вечно.Подумайте о типичном website.com/products/jellybeans/sort-by-/name/price/name/price/name/price примере.В настоящее время это происходит довольно редко - большинство сайтов ведут себя хорошо и не будут этого делать, но, чтобы быть в безопасности, определите, сколько нужно кликов, чтобы попасть с главной страницы на любую настоящую страницу на веб-сайте.это немного (было бы плохо, если бы вы использовали значение 7 и через час узнали, что ваш сайт был на 8 уровнях глубиной!) и использовали это #.Конечно, если вы знаете, что у вашего сайта есть структура, которая будет себя вести, нет ничего плохого в том, чтобы пропустить это и не сомневаться в том, что на вашем сайте была найдена 1 скрытая страница глубиной в 50 уровней.

-t 6 Если попытка получить доступ / загрузить определенную страницу или файл не удалась, это устанавливает количество попыток, прежде чем он откажется от этого файла и продолжит работу.Вы обычно хотите, чтобы он в конце концов сдался (установите его на 0, если хотите, чтобы он пробовал вечно), но вы также не хотите, чтобы он сдавался, если сайт просто шатался на секундуили дваЯ считаю 6 разумным.

-w 5 Это говорит wget подождать несколько секунд (в данном случае 5 секунд), прежде чем захватить следующий файл.Здесь часто очень важно что-то использовать (не менее 1 секунды).Позволь мне объяснить.По умолчанию wget будет захватывать страницы настолько быстро, насколько это возможно.Это может быть несколько запросов в секунду, что может привести к огромной нагрузке на сервер (особенно, если сайт написан на PHP, обеспечивает доступ к MySQL по каждому запросу и не использует кэш).Если веб-сайт находится на виртуальном хостинге, такая нагрузка может привести к тому, что кто-то скинет его хост.Даже на VPS он может поставить некоторые сайты на колени.И даже если сам сайт выживет, бомбардировка безумным количеством запросов в течение нескольких секунд может выглядеть как атака DOS, которая вполне может автоматически заблокировать ваш IP.Если вы точно не знаете, что сайт может справиться с огромным потоком трафика, используйте ключ -w # switch.5, как правило, довольно безопасно.Даже 1, вероятно, хорошо в большинстве случаев.Но используйте что-нибудь.

23 голосов
/ 13 февраля 2012

Рассмотрим HTTrack . Это бесплатная и простая в использовании автономная утилита браузера.

Позволяет загружать сайты World Wide Web из Интернета в локальный каталог, рекурсивно создавать все каталоги, получать HTML, изображения и другие файлы с сервера на ваш компьютер.

0 голосов
/ 13 февраля 2012

Лучший способ - очистить его с помощью wget, как указано в ответе @Abhijeet Rastogi.Если вы не знакомы с этим, то Blackwidow - достойный скребок.Я использовал это в прошлом.http://www.sbl.net/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...