Вопрос: Как загрузить весь сайт?


Как загрузить все страницы с сайта?

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


312


Источник


Проверять, выписываться serverfault.com/questions/45096/website-backup-and-download при сбое сервера. - Marko Carter
@tnorthcutt, я тоже удивлен. Если я не помню ужасно неправильно, мой ответ Wget был признанным, и это выглядело как обычная вещь. Я не жалуюсь, но внезапно возобновленное внимание привлекло меня больше, чем награда за репутацию. :П - Jonik
вы попробовали IDM? superuser.com/questions/14403/... мой пост похоронен. Что вы обнаружили в IDM? - Lazer
@joe: Может помочь, если вы расскажете подробности о том, какие недостающие функции ... - Ilari Kajaste
browse-offline.com можете загрузить полное дерево веб-сайта, чтобы вы могли ... просматривать его в автономном режиме - Menelaos Vergis


Ответы:


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

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

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


301



Использование этого в течение многих лет - настоятельно рекомендуется. - Umber Ferrule
Вы также можете ограничить скорость загрузки, чтобы не использовать слишком большую пропускную способность в ущерб всем остальным. - Umber Ferrule
Будет ли это копировать фактический код ASP, который работает на сервере, хотя? - Taptronic
@Optimal Solutions: Нет, это невозможно. Для этого вам потребуется доступ к серверам или исходный код. - Sasha Chedygov
Попробовав httrack и wget для сайтов с авторизацией, я должен опереться на wget. Не удалось заставить httrack работать в этих случаях. - Leo


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

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

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

Подробнее см. Руководство Wget и это Примеры, или, например, эти:


238



Нет лучшего ответа, чем это - wget может что-то сделать: 3 - Phoshi
+1 для включения --no-parent. определенно используйте --mirror вместо -r. и вы можете включить -L / - относительно не следовать ссылкам на другие серверы. - quack quixote
Поскольку я также просил httrack.com - будет ли этот инструмент линии cmd получить ASP код или он просто получит рендеринг HTML? Я должен попробовать это. Это может быть немного тревожным для разработчиков, если это произойдет ... - Taptronic
@optimal, вывод HTML конечно - он получит код только в том случае, если сервер был плохо настроен - Jonik
к сожалению, это не работает для меня - есть проблема со ссылками на css-файлы, они не изменены на относительные, то вы можете увидеть что-то вроде этого в файлах: <link rel = "stylesheet" type = "text / css" href = "/ static / css / reset.css" media = "screen" />, который не работает локально хорошо, если нет waz, чтобы обмануть firefox, чтобы думать, что определенный каталог является корнем. - gorn


Использовать 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.

121



+1 для объяснения предлагаемых вариантов. (Хотя я не думаю --mirror очень понятно. Вот на странице руководства:Эта опция включает рекурсию и штамповку времени, устанавливает бесконечную глубину рекурсии и сохраняет списки FTP-каталогов. В настоящее время это эквивалентно -r -N -l inf -no-remove-listing«) - Ilari Kajaste
Если вы не хотите загружать все в папку с именем домена, который хотите зеркалировать, создайте свою собственную папку и используйте опцию -nH (которая пропускает хост-часть). - Rafael Bugajewski
Как насчет того, требуется ли Auth? - Val
Я попытался использовать ваши wget --mirror -p --html-extension --convert-links www.example.com и он просто скачал индекс. Я думаю, вам нужно -r для загрузки всего сайта. - Eric Brotto
для тех, кто обеспокоен убийством сайта из-за трафика или слишком большого количества запросов, используйте -w seconds (чтобы подождать несколько секунд между запросами или --limit-rate=amount, чтобы указать максимальную пропускную способность для использования во время загрузки - vlad-ardelean


Вы должны взглянуть на ScrapBook, расширение Firefox. Он имеет режим глубокого захвата,

enter image description here


8



Больше не совместим с Firefox после версии 57 (Quantum). - Yay295


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

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

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

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

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

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

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

enter image description here

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


8





itsucks - это название программы!


7





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

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

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


5