QT5.11 Parsowanie Web DOM

QT5.11 Parsowanie Web DOM
S1
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Nowy Sącz
  • Postów:46
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
MasterBLB
  • Rejestracja:około 19 lat
  • Ostatnio:2 dni
  • Lokalizacja:Warszawa
  • Postów:1454
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 :]
S1
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Nowy Sącz
  • Postów: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

tajny_agent
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad rok
  • Postów:1340
0

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


"I love C++. It's the best language in the world right now for me to write the code that i need and want to write"
~ Herb Sutter
S1
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Nowy Sącz
  • Postów:46
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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.