LINUX.ORG.RU

Парсер html на Qt

 ,


0

2

Здравствуйте мои дорогие любители слотов и сигналов.

В общем, тут 2 вопроса:
Первый: какой парсер html лучше всего? Сейчас использую gumbo, но у него с документацией худо.
Второй: как заставить работать Qt-парсер? При создании объекта QWebPage программа сегфолтится, на любой версии Qt. ЧЯДНТ?

upd8

#include <QWebPage>

int main()
{
    QWebPage page;
    return 0;
}


Последнее исправление: journald (всего исправлений: 3)

ЧЯДНТ?

Ответ универсальный для подобных ситуаций - не читаешь документацию.

Ximen ★★★★
()

телепаты в отпуске

Ты хоть код запости, штоле.

sventovit
()

Когда программа «где-то», «как-то» сегфолтится, пользуются отладчиком, а не ЛОРом.

staseg ★★★★★
()

Я, конечно, давно QtWebKit трогал, но разве для его работы не требуется QtGui и запущенный цикл событий QApplication?

E ★★★
()
Ответ на: комментарий от journald

QWebPage - это не парсер, это модель отображаемой веб-страницы. Нарисованной уже. Парсер там есть где-то глубоко, конечно. Погугли фразу «забивать микроскопом гвозди».

E ★★★
()
Ответ на: комментарий от journald

Парсер (вернее, уже готовая DOM-модель) доступен через QWebFrame::documentElement().

По поводу gui можно посмотреть здесь, например: http://stackoverflow.com/questions/3528076/qtwebkit-console-application

Но лучше, на мой взгляд, взять настоящий парсер, типа htmlcxx (не пробовал, не знаю).

E ★★★
()

Первый: какой парсер html лучше всего?

С++ обязательно? Если нет, то бери питон и lxml или beautiful soup 4.

rival ★★
()
Ответ на: комментарий от E

Он протух же что-то. Ему 9 лет с последнего апдейта

journald
() автор топика
#include <QWebPage>

int main()
{
    QWebPage page;
    return 0;
}

Мде... Ясно. А ведь отладчик подскажет... Поставь qDebug до page и после и увидишь сколько оно выполняется и всё поймешь.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от journald

Да, там должен быть цикл Qt-шных евентов. Вот замени QWebPage на QLabel, почитай азы Qt-шного программирования, заставь появляться просто хотя бы простую надпись (QLabel т.е.), а потом уже берись за прочее.

Да, должно быть QApplication - всё как в примерах или как визард создает.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от journald

Не помню с чем работал, возможно даже с QWebPage, в общем отображал страницу веб-интерфейса устройства в своей программе. Цикл сообщений там определенно нужен.

I-Love-Microsoft ★★★★★
()

Вероятнее всего, проблема с крэшем приложения возникает из-за того, что вы не обявили QApplication перед созданием экземпляра QWebPage.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.