Мне нужно скопировать сайт через HTTP. Мне нужно загрузить изображения, HTML, CSS и JavaScript, а также организовать их в файловой системе.
Кто-нибудь знает как это сделать?
Мне нужно скопировать сайт через HTTP. Мне нужно загрузить изображения, HTML, CSS и JavaScript, а также организовать их в файловой системе.
Кто-нибудь знает как это сделать?
Ответы:
wget -erobots=off --no-parent --wait=3 --limit-rate=20K -r -p -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" -A htm,html,css,js,json,gif,jpeg,jpg,bmp http://example.com
Это работает в консоли.
это захватит сайт, подождет 3 секунды между запросами, ограничит скорость его загрузки, чтобы он не убивал сайт, и замаскирует себя так, чтобы он выглядел просто как браузер, чтобы сайт не отрезал вас используя механизм против пиявки.
Обратите внимание на -A
параметр, который указывает список типов файлов, которые вы хотите загрузить.
Вы также можете использовать другой тег, -D domain1.com,domain2.com
чтобы указать серию доменов, которые вы хотите загрузить, если у них есть другой сервер или что-то еще для размещения файлов разных типов. Там нет безопасного способа автоматизировать это для всех случаев, если вы не получаете файлы.
wget
обычно предустановлен в Linux, но может быть легко скомпилирован для других систем Unix или легко загружен для Windows: GNUwin32 WGET
Используйте это для добра, а не зла.
Хорошее бесплатное решение: HTTrack
HTTrack является бесплатной (GPL, libre / free software) и простой в использовании автономной утилитой браузера.
Он позволяет вам загружать сайт World Wide Web из Интернета в локальный каталог, рекурсивно создавать все каталоги, получать HTML, изображения и другие файлы с сервера на ваш компьютер. HTTrack организует относительную структуру ссылок исходного сайта. Просто откройте страницу «зеркального» веб-сайта в своем браузере, и вы сможете просматривать сайт по ссылке, как если бы вы просматривали его в Интернете. HTTrack также может обновить существующий зеркальный сайт и возобновить прерванные загрузки. HTTrack полностью настраивается и имеет встроенную справочную систему.
В системах Linux, wget делает это, в значительной степени.
Его также перенесли на несколько других платформ, как упоминалось в нескольких других ответах.
Очевидно, WGet упоминался несколько раз. Лучший пользовательский интерфейс, который я нашел для этого
Существуют и другие интерфейсы для WGet, некоторые из которых являются кандидатами на худший вопрос.
Вам нужно использовать wget - который доступен для большинства платформ. curl не будет запрашивать документы рекурсивно, что является одной из основных сильных сторон wget.
Linux: (обычно входит в дистрибутив) http://www.gnu.org/software/wget/
Windows: http://gnuwin32.sourceforge.net/packages/wget.htm
Mac: http: //www.geekology. co.za/blog/2009/02/macports-compile-and-install-open-source-software-on-mac-os-x/
ПОЖАЛУЙСТА, убедитесь, что вы не забиваете сайт - установите подходящие задержки между запросами и убедитесь, что он соответствует условиям обслуживания сайта.
-Адам
На самом деле, после моего комментария в посте GWLlosa, я только что вспомнил, что у меня установлен GnuWin32, и, конечно же, он содержит Windows-порт wget.
http://sourceforge.net/projects/gnuwin32/
GnuWin32 provides Win32-versions of GNU tools,
or tools with a similar open source licence.
The ports are native ports, that is they rely
only on libraries provided with any 32-bits
MS-Windows operating system, such as
MS-Windows 95 / 98 / 2000 / NT / XP
Я использовал это несколько лет назад, и это сработало хорошо. Только для Windows Раньше был рекламным, но больше не видимо:
wget --random-wait -r -p -e robots=off -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" --limit-rate=20k -b http://www.example.com
-p
Параметр: wget включает все файлы, включая изображения.-e robots=off
: игнорировать правила сайта robots.txt-U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"
: строка агента пользователя--random-wait
: избегать попадания в черный список--limit-rate=20k
: ограничивает скорость загрузки файлов.-b
: продолжает wget после выхода из системы.
-c
(или --continue
) параметр, когда что-то идет не так, и мне нужно перезапустить процесс.
Я думаю, IDB граббер - это лучшее решение, есть и Teleport pro
Free Download Manager может также загружать целые сайты.
Windows только я думаю.