Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Qt] Parsowanie dokumentu www
peter13135
post
Post #1





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


Mam taki kodzik :
Kod
    QWebPage page;
    QWebFrame * frame = page.mainFrame();
    frame->setHtml(str);
    QWebElement document = frame->documentElement();
    QWebElementCollection tables = document.findAll(".table");
    int numTables = tables.count();
    qDebug() << numTables;
    return;


Pod zmienną str znajduje się źródło tej strony : http://panoramafirm.pl/szukaj/mazowieckie,...wa/firmy,1.html

Chcę pobrać ilość elementów o klasie table. Niestety program podaje, że tych elementów jest 0. Podczas gdy w rzczywistości jest ich 15.

Gdy zamiast ".table" dam "a", to zwraca mi to 17, czyli jakieś linki znajduje ale chyba jest ich ciut za mało.

W czym może być problem ?

Wszystkie tabelki są w divie o klasie "results" <- tego diva nie mogę pobrać.
Mogę za to pobrać div o nazwię 'socialIcons right" ale nie w całości - na nim program kończy parsowanie.

Ten post edytował peter13135 4.08.2012, 16:07:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
everth
post
Post #2





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


@katsuo prawdopodobnie ma rację. Jeśli QWebFrame zachowuje się analogicznie jak UIWebView w iOSie to asynchroniczne ładowanie zawartości mogło powodować twój błąd. Twoje regexowanie mogło to jedynie zamaskować (poprzez opóźnienie wywołania findAll() ). Wszystko to przy założeniu że QWebFrame rzeczywiście zachowuje się asynchronicznie (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Posty w temacie
- peter13135   [Qt] Parsowanie dokumentu www   4.08.2012, 15:30:02
- - everth   Dawno nie miałem już z Qt styczności ale spróbuj z...   6.08.2012, 12:51:01
- - cojack   Pobierz treść najprościej jak się da, wrzuć do DOM...   6.08.2012, 13:30:49
- - peter13135   Kod frame->setHtml(str); qDebug(...   6.08.2012, 19:20:43
- - rzymek01   ten kod, który podałeś znajduje się z źródle stron...   6.08.2012, 21:38:53
- - peter13135   Nie wiem o co Ci chodzi. Dałem linka w pierwszym p...   7.08.2012, 08:28:46
- - everth   Znalezione w necie: [CPP] pobierz, plaintext webVi...   7.08.2012, 11:04:53
- - peter13135   Zrobiłem inaczej. Za pomocą regexpa znalazłem pozy...   7.08.2012, 17:10:50
- - katsuo   Całe api webkita jest po to, żebyś nie musiał korz...   8.08.2012, 02:15:39
- - peter13135   CytatCałe api webkita jest po to, żebyś nie musiał...   8.08.2012, 16:39:56
- - katsuo   Zrobiłem po swojemu, wklejając kod gdzie trzeba. D...   8.08.2012, 18:36:53
- - everth   @katsuo prawdopodobnie ma rację. Jeśli QWebFrame z...   8.08.2012, 20:00:02
- - peter13135   Jak to debug zwrócił 0 i 25 ? Tabelek o tej klasie...   8.08.2012, 20:30:35
- - everth   Jeśli moje przypuszczenie jest poprawne - metoda s...   8.08.2012, 21:08:07
- - katsuo   1. Następnym razem dołączaj cały kod, nie wróżymy ...   8.08.2012, 21:24:12
- - peter13135   No dobra, więc przerobiłem swój kodzik na taki : ...   8.08.2012, 21:46:13
- - katsuo   spakuj cały projekt i wyślij na jakiś (lekki)hosti...   8.08.2012, 21:51:55
- - peter13135   http://www.sendspace.pl/file/b9a852801bddf23ea6047...   9.08.2012, 21:46:09
- - zegarek84   popisz trochę więcej w JavaScript - to Ci powinno ...   10.08.2012, 00:13:30


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 17:50