Szukam pod Delphi 2010 komponent lub kod źródłowy parsera HTML... (muszę przeanalizować kod strony www i potrzebuję go najpierw doprowadzić do stanu że będzie czytelny, bo jest tam straszny bajzel).
Dzieki za pomoc!
Zainteresuje się tym "gotowcem". A co doradzcie, w czym najlepiej przetrzymywać plik tekstowy (a dokładnie Html, KOD STRONY): w TMemo, TStrings czy przelatywać go od początku do końca, linia po linii funkcją ReadLn? Co jest lepszym rozwiązaniem?
Chce "wyłuskać" trochę danych z kodu strony i zastanawiam się co jest lepsze? (może jeszcze jakieś inne rozwiązanie?) Już wiem że do kodu strony będę zaglądał wiele razy.
Viele dank fur the answer! ;)
GROUPON napisał(a)
Chce "wyłuskać" trochę danych z kodu strony...
Nie wiem co chcesz zrobić, ale np. załaduj sobie stronkę do TStringList (ma metodę LoadFromFile) i wyszukuj za pomocą TRegExp. Na ten tamat znajdziesz sporo informacji na forum, poszukaj sobi np. postów olesia - bodajże dołączał do postów przykłady programów.
Dzięki za wskazówki. Wyrażeń regularnych nie znam, więc nie bardzo jestem w stanie cokolwiek zdziałać w tym temacie. (ale pewnie kiedyś trzeba będzie poznać). Ja wyłuskuje dane z pomocą Pos(), itp.
Co do TStringList widzę że jest to dobre rozwiązanie. DZIEKI!
Pewnie tak, poczytam na ten temat.
Zrobiłem taki sam program na TMemo i TStringList. W obu wczytuje dane LoadFromFile. Przelatuje pętlą for w poszukiwaniu danych i te same dane znajduje w nieco innych liniach (wierszach) i tych samych kolumnach.
Przykład:
545 / 36 (na MEMO)
583 / 36 (na StringList)
Z czego to wynika? Limit długości linii w Memo, jakieś zawijanie (wrap?),.......??
madmike napisał(a)
Zgaduj zgadula, a gdzie kod?
for i:=0 to Memo1.Lines.Count do
begin
j:=0;
j:=Pos(szukany_string, Memo1.Lines[i]);
if j>0 then break;
end;
i to wiersz, j to kolumna
for i:=0 to PlikHTML.Count-1 do
begin
j:=0;
j:=Pos(szukany_string, PlikHTML[i]);
if j>0 then break;
end;
i to wiersz, j to kolumna
Powinno być większe od zera ( > 0 ), a nie > - 1. Pos jak nie znajdzie substringa to zwraca 0 (zero).
Co do wyrażeń regularnych polecam ten moduł z pod
poniższego adresu. Są przykłady oraz dokumentacja,
poza tym w Google na temat RegExpr jest masę info.
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.