Як я можу завантажити весь веб-сайт?


351

Як я можу завантажити всі сторінки з веб-сайту?

Будь-яка платформа - це добре.



@tnorthcutt, я теж здивований. Якщо я не згадую жахливо неправильну, моя відповідь Wget раніше була прийнятою, і це виглядало як осіла річ. Я не скаржуся, але раптом оновлена ​​увага принесла мені більше, ніж гідність репутації. : P
Jonik

ви пробували IDM? superuser.com/questions/14403/… мій пост закопаний. Що ви виявили відсутні у IDM?
Лазер

5
@joe: Може допомогти, якщо ви дасте детальну інформацію про відсутність функцій ...
Ilari Kajaste,

browse-offline.com може завантажити повне дерево веб-сайту, щоб ви могли ... переглядати його в режимі офлайн
Menelaos Vergis

Відповіді:


334

HTTRACK працює як чемпіон для копіювання вмісту цілого сайту. Цей інструмент може навіть захопити фрагменти, необхідні для роботи веб-сайту з активним вмістом коду в режимі офлайн. Я вражений речами, які він може повторити в режимі офлайн.

Ця програма зробить все, що вам потрібно від неї.

Щасливого полювання!


7
Використовувати це роками - настійно рекомендується.
Умбер Ферруле

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 за включення - не-батьків. обов'язково використовуйте --mirror замість -r. і ви можете включити -L / - відносно того, щоб не переходити посилання на інші сервери.
шарлатанний кіхот

2
Оскільки я також запитав на httrack.com - чи отримав би цей інструмент cmd-рядка код ASP чи він просто отримав би візуалізацію HTML? Я мушу спробувати це. Це може бути трохи занепокоєння для розробників, якщо це станеться ...
Taptronic

6
@optimal, вихід HTML, звичайно, він отримає код лише в тому випадку, якщо сервер був неправильно налаштований
Jonik

2
на жаль, це не працює для мене - є проблема із посиланнями на файли css, вони не змінені на відносні, тобто ви можете побачити щось подібне у файлах: <link rel = "stylesheet" type = "text / css" href = "/ static / css / reset.css" media = "screen" />, який не працює на локальному рівні, якщо тільки не існує вазу, щоб обдурити Firefox, щоб думати, що певний dir - корінь.
gorn

148

Використовуйте 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-listing ")
Іларі Каясте

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

2
А як бути, якщо потрібен Auth?
Валь

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

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


8

Internet Download Manager має утиліту Grabber Site з безліччю варіантів - яка дозволяє повністю завантажувати будь-який потрібний веб-сайт так, як вам потрібно.

  1. Ви можете встановити обмеження на розмір сторінок / файлів для завантаження

  2. Ви можете встановити кількість відвідуваних філій сайтів

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

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

  5. Посилання можуть бути перетворені в офлайнові посилання для перегляду

  6. У вас є шаблони, які дозволяють вибрати для вас вищевказані налаштування

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

Однак програмне забезпечення не є безкоштовним - подивіться, чи відповідає вашим потребам, скористайтеся версією для оцінки.



5

Я торкнуся буферизації в Інтернеті, яку використовують браузери ...

Зазвичай більшість браузерів використовують кеш перегляду, щоб зберегти файли, які ви завантажуєте з веб-сайту, на деякий час, щоб не довелося завантажувати статичні зображення та вміст знову і знову. Це може за певних обставин трохи прискорити справи. Взагалі кажучи, більшість кеш-пам’яток браузера обмежені фіксованим розміром, і коли він досяг цієї межі, він видалить найдавніші файли з кешу.

Інтернет-провайдери, як правило, мають кешовані сервери, які зберігають копії часто доступних веб-сайтів, таких як ESPN та CNN. Це позбавляє їх від труднощів вражати ці сайти кожного разу, коли хтось із їхньої мережі заходить туди. Це може призвести до значної економії кількості дублюваних запитів на зовнішні сайти до провайдера.


5

Мені подобається Offline Explorer .
Це безкоштовне програмне забезпечення, але воно дуже добре і просте у використанні.



4

Я цього не робив уже багато років, але є ще кілька комунальних послуг. Ви можете спробувати Web Snake . Я вважаю, я використовував це років тому. Я згадав ім'я одразу, коли прочитав ваше запитання.

Я згоден зі Стейсі. Будь ласка, не забивайте їх сайт. Дуже погано.


3

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

Це безкоштовний, потужний офлайн-браузер. Високошвидкісна програма для завантаження та перегляду веб-сайтів, що має багато потоків. Роблячи кілька одночасних запитів сервера, браузер BackStreet може швидко завантажувати весь веб-сайт або частину сайту, включаючи HTML, графіку, Java-аплети, звукові та інші файли, визначені користувачем, і зберігає всі файли на вашому жорсткому диску, як у рідному форматі, або як стислий ZIP-файл і переглядати офлайн.

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


3

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


3

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


Він може завантажувати лише посилання (HTML) та медіа (зображення).
Айн

3

Для Linux та OS X: Я написав сайт-захоплення для архівування цілих веб-сайтів у файли WARC . Ці файли WARC можна переглядати або витягувати. grab-site дозволяє контролювати, які URL-адреси потрібно пропустити, використовуючи регулярні вирази, і їх можна змінити під час запуску сканування. Він також постачається з великим набором за замовчуванням для ігнорування небажаних URL-адрес.

Існує веб-інформаційна панель для моніторингу сканів, а також додаткові параметри пропуску відеовмісту або відповідей певного розміру.



0

Поважний FreeDownloadManager.org також має цю особливість.

Безкоштовний менеджер завантажень має його у двох формах у двох формах: Провідник сайту та Павук сайту :

Site Explorer
Site Explorer дозволяє переглядати структуру папок веб-сайту та легко завантажувати необхідні файли чи папки.
HTML Spider
Ви можете завантажувати цілі веб-сторінки або навіть цілі веб-сайти за допомогою HTML Spider. Інструмент можна налаштувати для завантаження файлів лише із заданими розширеннями.

Я вважаю, що Провідник сайту корисний, щоб побачити, які папки включати / виключати, перш ніж намагатися завантажити весь сайт, особливо коли на сайті ховається цілий форум, який ви не хочете завантажувати, наприклад.



-3

Firefox може це зробити на самому собі (принаймні, FF 42 може). Просто використовуйте "Зберегти сторінку"

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


6
Неправильно! Питання задає питання, як зберегти цілий веб-сайт. Firefox не може цього зробити.

2
Ваш метод працює лише в тому випадку, якщо це односторінковий сайт, але якщо на ньому є 699 сторінок? Було б дуже стомливо ...
Quidam

-4

Я вважаю, що Google Chrome може це зробити на настільних пристроях, просто перейдіть до меню браузера та натисніть кнопку "Зберегти веб-сторінку".

Також зауважте, що такі сервіси, як кишеньковий, насправді не можуть врятувати веб-сайт, і тому вони піддаються гниттю посилань.

Нарешті, зауважте, що копіювання вмісту веб-сайту може порушити авторські права, якщо воно застосовується.


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

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