Получить снимок веб-сайта с помощью C ++ - PullRequest
3 голосов
/ 07 мая 2011

Есть ли способ захвата изображения веб-страницы с помощью C ++ CGI?Я искал высоко и низко, и хотя я нашел множество реализаций во всем, от Perl до C #, я не смог найти никаких реализаций в C ++.

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

Любая помощь по этому вопросу будет высоко оценена!1007 *

Пример на Perl: Webthumb

1 Ответ

4 голосов
/ 08 мая 2011

Вам необходимо отрендерить веб-страницу, чтобы создать снимок.Чтобы отобразить страницу в C ++, вам нужно включить движок браузера.Вы можете легко сделать это, используя Qt (инструментарий для c ++).Это взято из документации Qt и это все, что вам нужно для отображения веб-страницы.

QWebView *view = new QWebView(ui->centralWidget);
view->load(QUrl("http://qt.nokia.com/"));
view->show();

Объект представления имеет сигнал loadFinished.Вы можете подключить некоторый код к этому сигналу.Когда страница отображается, вы делаете снимок, как описано здесь .Это сводится к:

QPixmap::grabWindow(mainwindow->winId())

Когда у вас есть скриншот, вы можете вернуть байты на стандартный вывод из вашего cgi и все готово.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...