Загрузите веб-страницу с изображениями и таблицами стилей и (опционально) отправьте по электронной почте - PullRequest
2 голосов
/ 29 ноября 2009

Мне нужно сделать снимки веб-страниц программным способом с использованием PHP и поместить их в электронную почту HTML.

Я пытался wget --page-requisites. Он загружает все правильно, но не изменяет исходный код HTML-страницы, чтобы он указывал на загруженные файлы, а не на онлайн-оригиналы. Кроме того, этот HTML, конечно, далек от правильного отображения в электронной почте HTML.

Мне интересно узнать, есть ли готовые решения для этого. Я уже был бы счастлив с решением, которое берет снимок HTML и изменяет HTML соответственно. Возможность электронной почты была бы обледенением на торте.

Я управляю снимками веб-страниц, поэтому у меня есть возможность настроить контент для оптимизации результатов.

Моя серверная платформа - PHP, но с очень либеральными настройками я могу выполнять такие вещи, как сценарии wget и Perl изнутри PHP. Однако у меня нет доступа с правами root и я не могу устанавливать дополнительные пакеты или программы.

Задача состоит в том, чтобы делать снимок страницы продукта каждый раз, когда кто-то размещает заказ, поэтому есть документация о том, как эта страница выглядела в то время.

Ответы [ 2 ]

4 голосов
/ 01 декабря 2009

wget имеет параметр -k (--convert-links), который преобразует ссылки и ссылки во встроенный контент (например, изображения). Смотрите, например Wget расширенного использования (также здесь ).

По электронной почте часть вашего вопроса - я уверен, что вы можете использовать одну из существующих библиотек. Например, PHP имеет некоторый пакет PEAR (не помню точное имя) для обработки электронных писем HTML; Я почти уверен, что и в Perl, и в Python есть что-то похожее.

1 голос
/ 29 ноября 2009

В этом случае вы пытаетесь выполнить зеркалирование сайта с помощью wget. Простое решение - использовать httrack , который представляет собой простой инструмент командной строки. Это очень мощный и настраиваемый, попробуйте! На сайте httrack представлен графический интерфейс, но он вам не нужен, все возможно из командной строки (или из PHP).

...