QT5.11 Parsowanie Web DOM

0

Witam
Używam QWebEngineView do pobierania danych z sieci.
Wcześniej był WebKit co bardzo mocno upraszczało używanie chociażby znaczników QWebElement itp.
Jak sobie radzicie z pobieraniem wartości elementów i treści z dokumentów html.
Czym dostajecie się do drzewa DOM ??
Np. Pobieranie treści z ul/li ?, np. linków z znaczników A itp.

Informacje o wersji:
QT 5.11.2

Dzięki wielkie..
za wszystkie sugestię będę wdzięczny.

0

QWebEngineView ma metodę page() która zwraca wskaźnik na QWebEnginePage. Owa QWebEnginePage posiada metody toHtml() o toPlainText(), i pewnie stąd będziesz w stanie wyciągnąć co potrzebujesz.

0

Kod html bez problemu wyciągam ale trzeba by przetwarzać ręcznie.
Chyba że ja w dokumentacji nie umiem odnaleźć jak można w inny sposób pracować.
Dlatego dla porównania dałem QWebElement. Dla C# jest fajna biblioteka "html anaglify" która pozwala pobierać wszystko co się chce z html
Wcześniej korzystałem z WebKit ale od wersji 5.6 już jej nie ma. Czyli zrobili krok w tył.

Zostaje pobieranie danych ręcznie ? czy macie jakiś inny sposób na to.
Dzięki

0

A nie łatwiej naklepać skrypt js i odpalić go na stronie za pomocą QWebEnginePage::runJavaScript ?

0

Kolego może masz i rację, skryptem pobrać dane i zwrócić w postaci xml lub Json
chyba faktycznie tak zrobie.
A operować na JSON lub xml już będzie bezproblemowo.
Edit:
Panowie jest szansa jakoś przekazania obiektu ??
po stronie javascript stworzyłem listę obiektów.
tzn. jeden obiekt ale wrzucony w tablicę Array.
Jest szansa na przekazanie listy obiektów i odwoływanie się poprzez ob.title itp. ??, czy zostaje mi samemu przepisywać to wszystko do klasy lub struktury

Z góry dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1