Как я могу скачать весь сайт?


350

Как я могу скачать все страницы с сайта?

Любая платформа в порядке.



@tnorthcutt, я тоже удивлен. Если я не помню совершенно неправильно, мой ответ на Wget был принят, и это выглядело как улаженная вещь. Хотя я не жалуюсь - внезапно возобновленное внимание дало мне больше, чем награду за награду. : P
Jonik

ты пробовал IDM? superuser.com/questions/14403/… мой пост похоронен. Что вы нашли отсутствующим в IDM?
Лазер

5
@joe: Могу помочь, если бы вы подробно рассказали о том, что недостающие функции ...
Илари Каджасте

browse-offline.com может загрузить полное дерево веб-сайта, чтобы вы могли ... просматривать его в автономном режиме
Menelaos Vergis

Ответы:


334

HTTRACK работает как чемпион по копированию содержимого всего сайта. Этот инструмент может даже захватить части, необходимые, чтобы веб-сайт с активным содержимым кода работал в автономном режиме. Я поражен тем, что он может воспроизводить в автономном режиме.

Эта программа сделает все, что от вас требуется.

Хорошей охоты!


7
Использовать это годами - очень рекомендуется.
Umber Ferrule

4
Будет ли это копировать фактический код ASP, который работает на сервере?
Taptronic

8
@ Оптимальные решения: нет, это невозможно. Для этого вам понадобится доступ к серверам или к исходному коду.
Саша Чедыгов

2
Попробовав httrack и wget для сайтов с авторизацией, я должен склоняться в пользу wget. Не удалось заставить httrack работать в таких случаях.
Лев

1
Какой вариант для аутентификации?
Винсент Мэтью

272

Wget - классический инструмент командной строки для решения подобных задач. Он поставляется с большинством систем Unix / Linux, и вы можете получить его и для Windows . На Mac Homebrew - это самый простой способ установить его ( brew install wget).

Вы бы сделали что-то вроде:

wget -r --no-parent http://site.com/songs/

Для получения дополнительной информации см. Руководство по Wget и его примеры , например:


12
Нет лучшего ответа, чем этот - wget может сделать все что угодно: 3
Phoshi

6
+1 за включение --no-parent. обязательно используйте --mirror вместо -r. и вы можете включить -L / - относительно не переходить по ссылкам на другие серверы.
Quackote Quixote

2
Как я и просил httrack.com - получит ли этот инструмент строки cmd ASP- код или он просто получит рендеринг HTML-кода? Я должен попробовать это. Это может быть немного тревожно для разработчиков, если это произойдет ...
Taptronic

6
@ Оптимальный вывод HTML, конечно - он получит код, только если сервер будет неправильно настроен
Jonik

2
к сожалению, это не работает для меня - есть проблема со ссылками на файлы CSS, они не изменены на относительные, то есть вы можете увидеть что-то вроде этого в файлах: <link rel = "stylesheet" type = "text / css" href = "/ static / css / reset.css" media = "screen" />, которая не работает локально хорошо, если только нет смысла обманывать firefox, думая, что определенный каталог является корнем.
Гор

147

Используйте wget:

wget -m -p -E -k www.example.com

Варианты объяснены:

-m, --mirror            Turns on recursion and time-stamping, sets infinite 
                          recursion depth, and keeps FTP directory listings.
-p, --page-requisites   Get all images, etc. needed to display HTML page.
-E, --adjust-extension  Save HTML/CSS files with .html/.css extensions.
-k, --convert-links     Make links in downloaded HTML point to local files.

8
+1 за пояснения предложенных вариантов. (Хотя я не думаю, что --mirrorэто говорит само за себя. Вот со страницы руководства: « Эта опция включает рекурсию и отметку времени, устанавливает бесконечную глубину рекурсии и сохраняет списки каталогов FTP. В настоящее время она эквивалентна -r -N - l inf --no-remove-
list

2
Если вы не хотите загружать все в папку с именем домена, который хотите зеркалировать, создайте свою собственную папку и используйте опцию -nH (которая пропускает часть хоста).
Рафаэль Бугаевский

2
Что делать, если требуется авторизация?
Val

4
Я пытался использовать ваш, wget --mirror -p --html-extension --convert-links www.example.comи он только что скачал индекс. Я думаю, вам нужно -rскачать весь сайт.
Эрик Бротто

4
для тех, кто обеспокоен уничтожением сайта из-за трафика / слишком большого количества запросов, используйте -w seconds(чтобы подождать несколько секунд между запросами или --limit-rate=amount, чтобы указать максимальную пропускную способность, которую следует использовать при загрузке
vlad-ardelean


8

Internet Download Manager имеет утилиту Site Grabber с множеством опций, которая позволяет вам полностью загрузить любой веб-сайт, какой вы захотите, так, как вы этого хотите.

  1. Вы можете установить ограничение на размер загружаемых страниц / файлов.

  2. Вы можете установить количество посещаемых филиалов.

  3. Вы можете изменить поведение скриптов / всплывающих окон / дубликатов

  4. Вы можете указать домен, только под этим доменом будут загружены все страницы / файлы, соответствующие требуемым настройкам.

  5. Ссылки могут быть преобразованы в автономные ссылки для просмотра

  6. У вас есть шаблоны, которые позволяют вам выбрать вышеуказанные настройки для вас

введите описание изображения здесь

Однако программное обеспечение не является бесплатным - посмотрите, подходит ли оно вам, используйте ознакомительную версию.



5

Я расскажу об онлайн буферизации, которую используют браузеры ...

Как правило, большинство браузеров используют кеш просмотра, чтобы некоторое время хранить файлы, которые вы загружаете с веб-сайта, чтобы вам не приходилось загружать статические изображения и контент снова и снова. Это может немного ускорить процесс при некоторых обстоятельствах. Вообще говоря, большинство кешей браузера ограничены фиксированным размером, и когда он достигает этого предела, он удаляет самые старые файлы в кеше.

Интернет-провайдеры, как правило, имеют кэширующие серверы, на которых хранятся копии часто используемых веб-сайтов, таких как ESPN и CNN. Это избавляет их от необходимости посещать эти сайты каждый раз, когда кто-то из их сети посещает их. Это может привести к значительной экономии в количестве дублированных запросов к внешним сайтам к провайдеру.


5

Мне нравится Offline Explorer .
Это условно-бесплатная программа, но она очень хорошая и простая в использовании.



4

Я не делал этого много лет, но есть еще несколько утилит там. Вы можете попробовать Web Snake . Я думаю, что использовал это много лет назад. Я сразу вспомнил имя, когда прочитал твой вопрос.

Я согласен со Стейси. Пожалуйста, не забивайте их сайт. Очень плохо.


3

Попробуйте браузер BackStreet .

Это бесплатный, мощный автономный браузер. Высокоскоростная многопоточная программа для загрузки и просмотра веб-сайтов. Делая несколько одновременных запросов к серверу, BackStreet Browser может быстро загрузить весь веб-сайт или часть сайта, включая HTML, графику, Java-апплеты, звуковые и другие определяемые пользователем файлы, и сохраняет все файлы на жестком диске, в их исходном формате, или в виде сжатого ZIP-файла и просмотра в автономном режиме.

введите описание изображения здесь


3

Teleport Pro - это еще одно бесплатное решение, которое копирует все файлы из любой вашей целевой области (также есть платная версия, которая позволит вам перетягивать больше страниц контента).


3

DownThemAll - это надстройка Firefox, которая загружает весь контент (например, аудио- или видеофайлы) для определенной веб-страницы одним щелчком мыши. Это не загружает весь сайт, но это может быть то, что вопрос искал.


Он способен загружать только ссылки (HTML) и медиа (изображения).
Ain

3

Для Linux и OS X: я написал grab-site для архивирования целых сайтов в файлы WARC . Эти файлы WARC могут быть просмотрены или извлечены. grab-site позволяет вам контролировать, какие URL-адреса пропустить, используя регулярные выражения, и их можно изменить, когда выполняется сканирование. Он также поставляется с широким набором настроек по умолчанию для игнорирования нежелательных URL.

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



0

Почтенный FreeDownloadManager.org также имеет эту функцию.

Free Download Manager имеет две формы в двух формах: Site Explorer и Site Spider :

Обозреватель сайта Обозреватель
сайта позволяет просматривать структуру папок на веб-сайте и легко загружать необходимые файлы или папки.
HTML Spider
Вы можете загрузить целые веб-страницы или даже целые веб-сайты с помощью HTML Spider. Инструмент можно настроить для загрузки файлов только с указанными расширениями.

Я считаю, что Site Explorer полезен для просмотра папок, которые нужно включить / исключить, прежде чем пытаться загрузить весь сайт, особенно когда на сайте скрывается целый форум, который вы, например, не хотите загружать.



-3

Firefox может делать это изначально (по крайней мере, FF 42). Просто используйте «Сохранить страницу»

введите описание изображения здесь


6
Неправильно! Вопрос в том, как сохранить весь веб-сайт. Firefox не может этого сделать.

2
Ваш метод работает, только если это одностраничный сайт, но если на сайте 699 страниц? Было бы очень утомительно ...
Quidam

-4

Я считаю, что Google Chrome может сделать это на настольных устройствах, просто зайдите в меню браузера и нажмите Сохранить веб-страницу.

Также обратите внимание, что такие сервисы, как pocket, на самом деле не могут спасти веб-сайт и поэтому подвержены гниению ссылок.

И наконец, обратите внимание, что копирование содержимого сайта может нарушать авторские права, если это применимо.


3
Веб - страница в вашем браузере только один из многих веб - сайта .
Арджан

@ Arjan Я думаю, это делает мой вариант трудоемким. Я полагаю, что чаще всего люди просто хотят сохранить одну страницу, поэтому этот ответ может быть лучше для тех людей, которые приходят сюда для этого.
Jiggunjer
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.