Сохранение веб-страницы и внешних ссылок в качестве независимого статического ресурса. - PullRequest
5 голосов
/ 22 октября 2010

У нас есть требование к максимально точному кешированию веб-страниц, чтобы мы могли вернуться и просмотреть версию страницы в любой предыдущий момент времени. Мы хотели бы иметь возможность просматривать страницу так, как она есть на самом деле - с правильным css, javascript, изображениями и т. Д.

Существуют ли какие-либо библиотеки ОС (на любом языке), которые будут извлекать страницу, загружать все внешние ресурсы и перезаписывать ссылки, чтобы они указывали на локально кэшированные ресурсы?

Или это наш собственный случай?

Спасибо

Редактировать: Я понимаю, что без рендеринга динамически сгенерированных ссылок и т. Д. Это будет невозможно на 100%, если мы не будем выполнять DOM-рендеринг. Однако в настоящее время мы, вероятно, можем жить без этого.

Ответы [ 3 ]

9 голосов
/ 22 октября 2010

Я предлагаю HTTrack: http://www.httrack.com/

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

См. Описание :

"HTTrack позволяет загружать сайты World Wide Web из Интернета в локальный каталог, рекурсивно создавать все каталоги, получать HTML, изображения,и другие файлы с сервера на ваш компьютер.

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

Он также может обновлять существующий зеркальный сайт и возобновлять прерванные загрузки. "

В какой ОС вы можете запустить его :

WebHTTrack для Linux / Unix / BSD: пакеты Debian, Ubuntu, Gentoo, RPM (Mandriva & RedHat), OSX (MacPorts), Fedora и FreeBSD i386.

WinHTTrack для Windows 2000 / XP / Vista / Seven

-

Обновление : проект активен, и последняя версия былаотправлено в 04/01/2017

1 голос
/ 22 октября 2010

почему бы не применить базовую ссылку к страницам, заменить внутренние абсолютные ссылки относительными абсолютами и сохранить структуру?

0 голосов
/ 22 октября 2010

Вы можете использовать формат mht / mhtml для сохранения в качестве единого документа.

Wiki описание: http://en.wikipedia.org/wiki/MHTML

Быстрый поиск покажет некоторые источники кода для этого.

...