QT5.11 Parsowanie Web DOM

Odpowiedz Nowy wątek
2019-05-13 13:22
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.

edytowany 1x, ostatnio: scorpion_1982, 2019-05-13 13:44

Pozostało 580 znaków

2019-05-13 14:40
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.


"Sugeruję wyobrazić sobie Słońce widziane z orbity Merkurego, a następnie dupę tej wielkości. W takiej właśnie dupie specjalista ma teksty o wspaniałej atmosferze, pracy pełnej wyzwań i tworzeniu innowacyjnych rozwiązań. Pracuje się po to, żeby zarabiać, a z resztą specjalista sobie poradzi we własnym zakresie, nawet jeśli firma mieści się w okopie na granicy obu Korei."
-somekind,
konkretny człowiek-konkretny przekaz :]

Pozostało 580 znaków

2019-05-13 14:46
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

Pozostało 580 znaków

2019-05-13 14:49
0

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

Pozostało 580 znaków

2019-05-13 14:54
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.

edytowany 4x, ostatnio: scorpion_1982, 2019-05-15 03:59

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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