Russian Qt Forum

Qt => Работа с сетью => Тема начата: Гурман от Апрель 13, 2011, 17:31



Название: Как загрузить текстовую страницу для обработки?
Отправлено: Гурман от Апрель 13, 2011, 17:31
Нужно с URL загрузить находящуюся там HTML страницу, после чего не показывать ее, а обработать содержащиеся в ней строки текста после ее рендеринга. Либо загрузить TXT-страницу без HTML тегов и обработать построчно содержащийся в ней текст. То есть, в обоих случаях надо получить текстовые строки загруженной страницы построчно в виде массива объектов QString (или в виде QList из объектов QString). Стили, таблицы, встроенные объекты страницы и т.д. не имеют значения - считается, что страница содержит только плоский текст с маркерами концов строк. Кодировка текста тоже не имеет значения, текст на английском.

Как это лучше всего делать? Опыта работы с Web в Qt нет, у Шлее практически ничего не описано. Где лучше почитать про работу с WebKit?


Название: Re: Как загрузить текстовую страницу для обработки?
Отправлено: blood_shadow от Апрель 13, 2011, 18:26

Как это лучше всего делать? Опыта работы с Web в Qt нет, у Шлее практически ничего не описано. Где лучше почитать про работу с WebKit?


QWebView тебе поможет, в ассистанте все написано
думаю что-то наподобе void setUrl ( const QUrl & url ), а потом получить объект QWebFrame и походу
QString QWebFrame::toPlainText () const


Название: Re: Как загрузить текстовую страницу для обработки?
Отправлено: SimpleSunny от Апрель 13, 2011, 18:28
Лучше почитай про QNetworkAccessManager


Название: Re: Как загрузить текстовую страницу для обработки?
Отправлено: Гурман от Апрель 13, 2011, 18:49
Цитировать
Лучше почитай про QNetworkAccessManager

на этом уровне получается, надо самому озаботиться рендерингом и т.д., но хочется чтобы максимум автоматизации Qt использовалось

Цитировать
походу QString QWebFrame::toPlainText () const

так он в QString вернет весь текст страницы? только содержимое <body></body>? заголовок будет отброшен? как в QString будут разделены те строки, которые имеют тэг <b> в HTML коде? а если это plain text с обычными line break? концы строк останутся?


Название: Re: Как загрузить текстовую страницу для обработки?
Отправлено: blood_shadow от Апрель 13, 2011, 19:05

так он в QString вернет весь текст страницы? только содержимое <body></body>? заголовок будет отброшен? как в QString будут разделены те строки, которые имеют тэг <b> в HTML коде? а если это plain text с обычными line break? концы строк останутся?

ассистант говорит - "Returns the content of this frame converted to plain text, completely stripped of all HTML formatting."
я думаю что это следует трактовать как что в строку залезет весь хтмл страницы,
но как будет заранее сказать не могу


Название: Re: Как загрузить текстовую страницу для обработки?
Отправлено: Гурман от Апрель 13, 2011, 19:18
это я видел, а с опытом использования никого нет?