Strona 1 z 1

TWebBrowser wyciągnięcie kodu HTML

Nowy postNapisane: piątek, 23 kwietnia 2010, 12:17
przez Darek_C++
Witam ponownie,
jak wyciagnąć do zmiennej kod strony HTML wczytanej do komponentu TWebBrowser (komponent przeglądarki) oraz same dane tekstowe zawarte w kodzie HTML bez kodu HTML. Wiem, że jest to możliwe, bo miałem kiedyś do tego kod, ale nie mogę go obecnie poszukać.

Pozdrawiam

Re: TWebBrowser wyciągnięcie kodu HTML

Nowy postNapisane: piątek, 23 kwietnia 2010, 13:48
przez Cyfrowy Baron
Piszesz tak, że już nie wiem... Chcesz podejrzeć kod źródłowy strony?

Jeżeli tak: ► patrz serwis: Cyfrowy Baron dział: porady -> sieć - internet -> Wywołanie okna podglądu dla kontrolki TCppWebBrowser.

Re: TWebBrowser wyciągnięcie kodu HTML

Nowy postNapisane: piątek, 23 kwietnia 2010, 15:13
przez Darek_C++
Ale co tu jest dla Ciebie nie jasne ?
Kod strony = kod HTML tworzący daną stronę która aktualnie jest załadowana do komponentu TWebBrowser;
Dane tekstowe = to co widać w komponencie TWebBrowser. Przykładowo jeśli kodem HTML bedzie <strong>wykonuje pogrubienie tekstu</strong> samymi danymi tekstowymi jest to co my widzimy, "wykonuje pogrubienie tekstu".

I o taką funkcjonalność mi chodzi.
----
Nie, nie chodzi tu o okno podglądu wydruku ....

Re: TWebBrowser wyciągnięcie kodu HTML

Nowy postNapisane: piątek, 23 kwietnia 2010, 15:23
przez Cyfrowy Baron
Jednym słowem chcesz wyciągnąć czysty tekst z kodu HTML?!

To wymaga kodu parsującego. Coś podobnego znajdziesz w serwisie Cyfrowy Baron w dziale: porady -> sieć - internet, porada: wyciąganie adresów URL ze stron internetowych. Kod wyciąga co prawda tylko adresy URL, ale idąc tym tropem możesz wyciągnąć ze stron co zechcesz.

Jeżeli chodzi o parsowanie całego kodu HTML i wyciąganie całego tekstu, to nie spotkałem się z biblioteką, która by takie zadanie realizowała.



Kod strony = kod HTML tworzący daną stronę która aktualnie jest załadowana do komponentu TWebBrowser;


Podałem odpowiedź w poprzednim poście.

Dane tekstowe = to co widać w komponencie TWebBrowser.


Jedyną bibliotekę jaką znam a realizującą to zadanie jest właśnie kontrolka TWebBrowser, no ale z niej samego tekstu nie wyciągniesz. Potrzebujesz więc biblioteki, która potrafi parsować kod HTML i zwracać jako wynik sam tekst. Jak wspomniałem, nie spotkałem się z taką biblioteką, ale jest nadzieja. W Embarcadero RAD Studio 2010 występuje komponent TInetXPageProducer, który posiada jakiś mechanizm parsujący, więc w wolnej chwili przyjrzę się tej bibliotece i może wtedy napiszę coś więcej.

Re: TWebBrowser wyciągnięcie kodu HTML

Nowy postNapisane: piątek, 23 kwietnia 2010, 16:17
przez Darek_C++
"To wymaga kodu parsującego." nic takiego nie potrzeba, bo sam TWebBrowser umożliwia taką funkcjonalność, do tego wyciąganie kodu źródłowego, a nawet wszystkich linków z wczytanej strony - wiem, bo takie funkcje kiedyś testowałem i pochodziły z jakieś niemieckiej strony o tym komponencie.

Re: TWebBrowser wyciągnięcie kodu HTML

Nowy postNapisane: piątek, 23 kwietnia 2010, 16:24
przez Cyfrowy Baron
No to życzę powodzenia, gdyż nigdy z niczym podobnym w TWebBrowser się nie spotkałem. Ta kontrolka ActiveX (nie komponent) potrafi mniej niż Internet Explorer gdyż bazuje na bibliotekach tej przeglądarki. Nie spotkałem się z podobną funkcją w IE, więc nie wiem jak to jest z tą kontrolką, ale spis wszystkich funkcji, metod itp. znajdziesz w pomocy pod hasłem TWebBrowser.



Wyciąganie tekstu z kodu HTML itp. nazywa się parsowaniem, więc dokładnie tego Tobie potrzeba, a jeżeli TWebBrowser to potrafi to chciałbym to zobaczyć :D

Re: TWebBrowser wyciągnięcie kodu HTML

Nowy postNapisane: piątek, 23 kwietnia 2010, 16:50
przez Darek_C++
Jak znajdę tylko tamte kody to Zobaczysz...