Сохранить веб-страницу полностью (с изображениями, CSS и т. Д.), Лучше как веб-архив

Я хотел бы сделать локальную копию веб-страниц с использованием PHP. Это может быть веб-архив, например, mht, или просто html с изображениями и css. Результат должен быть примерно таким же, как вы нажимаете кнопку "Сохранить как" в вашем браузере:)

Я нашел такую ​​библиотеку для этого: http://freecode.com/projects/php-save-complete-html-page Наконец, он создает один большой HTML-файл, но работает очень-очень медленно и создает действительно огромный файл.

Я нашел такое решение в сети, но оно также не работает:

wget --no-parent --timestamping --convert-links --page-requisites --no-directories --no-host-directories -erobots=off http://cnn.com

Он не создает никаких изображений, не загружает CSS, просто скачать только HTML

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

1 ответ

Решение

Я думаю, чтобы написать свой собственный, вы можете использовать curl и искать внешние URL, а затем рекурсивно следовать им. Там может быть библиотека.

В противном случае вы можете использовать exec() в php запустить программу командной строки. HTTrack хорошо справляется с поиском сайтов: http://www.httrack.com/html/fcguide.html

Так, например:

exec('httrack "http://www.all.net/" -O "/tmp/www.all.net" "+*.all.net/*" -v');

Кроме того, если вы хотите использовать wget Я нашел набор опций, которые должны работать (предположительно, так как я не пробовал):

wget \
     --recursive \
     --no-clobber \
     --page-requisites \
     --html-extension \
     --convert-links \
     --restrict-file-names=windows \
     --domains example.com \
     --no-parent \
         www.example.com/directoryToArchive
Другие вопросы по тегам