Як зберегти всі пов’язані з однієї сторінки веб-сторінки


15

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

Чи є якісь способи замість відкриття та збереження кожної пов’язаної сторінки?

Відповіді:


12

Ви можете робити все, що завгодно, за допомогою утиліти командного рядка wget . Якщо ви надаєте їй таку -rможливість, вона буде рекурсивно завантажувати веб-сторінки. Наприклад:

wget -r http://mat.gsia.cmu.edu/orclass/integer/integer.html

Це завантажить цю веб-сторінку та все, на що вона посилається. Ви також можете зробити це лише повторити певну кількість рівнів, для цього вам просто надається -rчисло. Ось такі:

wget -r 5 http://mat.gsia.cmu.edu/orclass/integer/integer.html

@Mark: Дякую! Зараз я намагаюся завантажити mat.gsia.cmu.edu/orclass та сторінки, на які він посилається, за допомогою команди wget -r mat.gsia.cmu.edu/orclass . wget створить каталог mat.gsia.cmu.edu під вказаним мною і завантажить сторінки під ним. Але посилання між завантаженими сторінками не мають mat.gsia.cmu.edu у своїх шляхах, тому це стає проблемою, і я не можу переходити з однієї сторінки на іншу, натискаючи посилання. Мені було цікаво, чому і як вирішити проблему? Спасибі!
Тім

Я не думаю, що ви можете рекурсивно завантажувати зовнішні посилання, @Tim.
Wuffers

Чи означають "зовнішні посилання" ті, які не знаходяться під поточним контуром?
Тім

@Tim: Під зовнішніми посиланнями я маю на увазі посилання, що посилаються поза mat.gsi.cmu.edu
Wuffers

1
@Tim: Ой, добре. Вибачте за непорозуміння. Я думаю, що ви можете спробувати самостійно відредагувати HTML-файли, щоб перевірити та спробувати змусити їх працювати.
Wuffers

11

Ця нитка зараз стара, але інші можуть дивитись на неї. Дякую, Вуфферс, що вказали мені в правильному напрямку, але, щоб розширити відповідь Вуфферса: Сучасна версія wget має ряд корисних варіантів для повторюваних посилань та приклеювання їх до місцевих відносних посилань, щоб ви могли переміщатися по локальній копії веб-сайту. Використовуйте параметр -r для повторної повторної роботи, варіант -k для виправлення локальних посилань, варіант -H для переходу до доменів, відмінних від початкового, варіант -D для обмеження доменів, до яких ви переходите, варіант -l для обмеження значення глибина рекурсії та опція -p, щоб переконатися, що в листах вашого обходу є все необхідне для правильного відображення. Наприклад, нижче буде завантажено сторінку та все, на що вона негайно посилається, зробивши її доступною для локального перегляду,

wget -r -l 1 -p -k -H -D domain.com,relateddomain.com http://domain.com/page/in/domain

Використовуючи команду, подібну до наведеної вище, я зміг завантажити шматок сторінки вікі із зовнішніми посиланнями на свій локальний диск, не завантажуючи мегабайти сторонніх даних. Тепер, коли я відкриваю кореневу сторінку у своєму браузері, я можу переміщатися по дереву без підключення до Інтернету. Єдиним дратівливим фактором було те, що коренева сторінка була похована у підкаталогах, і мені довелося створити сторінку перенаправлення верхнього рівня, щоб зробити її зручною для відображення. Щоб виправити це, може знадобитися певна спроба та помилка. Прочитайте сторінку wget man та експериментуйте.


4

Ви можете використовувати веб-сканер на зразок httrack , який є безкоштовним.

З веб-сайту;

[httrack] дозволяє завантажувати всесвітній веб-сайт з Інтернету в локальний каталог, рекурсивно будуючи всі каталоги, отримуючи HTML, зображення та інші файли з сервера на комп'ютер. HTTrack організовує відносну оригінальну структуру посилань сайту. Просто відкрийте сторінку свого "дзеркального" веб-сайту у своєму браузері, і ви можете переглядати сайт із посилання на посилання, як ніби ви переглядали його в Інтернеті.


1
+1 Відмінна програма! Але це захоплення всіх пов’язаних zip-файлів, що я не хотів. Але тоді я, мабуть, мав би спочатку прочитати інструкцію!
finlaybob

Так, він може / перейде за всіма посиланнями, тому завантажить файли. (@Finlaybob Ви знаєте, що домашня сторінка, вказана у вашому профілі, була зламана?)
RJFalconer

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