Russian Qt Forum
Ноябрь 02, 2024, 08:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как загрузить текстовую страницу для обработки?  (Прочитано 3064 раз)
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« : Апрель 13, 2011, 17:31 »

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

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

2^7-1 == 127, задумайтесь...
blood_shadow
Гость
« Ответ #1 : Апрель 13, 2011, 18:26 »


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


QWebView тебе поможет, в ассистанте все написано
думаю что-то наподобе void setUrl ( const QUrl & url ), а потом получить объект QWebFrame и походу
QString QWebFrame::toPlainText () const
Записан
SimpleSunny
Гость
« Ответ #2 : Апрель 13, 2011, 18:28 »

Лучше почитай про QNetworkAccessManager
Записан
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« Ответ #3 : Апрель 13, 2011, 18:49 »

Цитировать
Лучше почитай про QNetworkAccessManager

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

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

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

2^7-1 == 127, задумайтесь...
blood_shadow
Гость
« Ответ #4 : Апрель 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."
я думаю что это следует трактовать как что в строку залезет весь хтмл страницы,
но как будет заранее сказать не могу
Записан
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« Ответ #5 : Апрель 13, 2011, 19:18 »

это я видел, а с опытом использования никого нет?
Записан

2^7-1 == 127, задумайтесь...
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.106 секунд. Запросов: 22.