Operacje na stronie www - Java SE.

0

Witam,
Chcę napisać program do wyciągania konkretnych informacji z konkretnej strony. Będą to rzeczy typu obrazki, i konkretne informacje. Do tej pory zawsze robiłem to sposobem: pobieram zwyczajnie kod strony, wyszukuje jakiś unikalny tekst na stronie i wycinam substringiem jakiś kawałek, dodaje ile tam znaków żeby dojść do interesującego mnie kawałka, znów wycinam... aż do uzyskania konkretnego "kawałka kodu html" (czyli np. odnośnika do obrazka). Problem jest oczywisty.. najdrobniejsza modyfikacja strony, jakakolwiek różnica w znakach na stronie i cały program się sypie. I tu rodzi się ciekawe pytanie.. czy jest jakiś inny sposób? Pierwsza myśl to użycie sprytnie rekurencji ale szybko ją odrzuciłem z racji, że niezbyt ciekawie mi się ten pomysł prezentuje. Macie jakieś pomysły?

0

Może warto użyć wyrażeń regularnych. Powinny ci one pomóc.

0

hmm, w pewnym stopniu na pewno. Ale może istnieje jeszcze jakiś sposób?

0
  • zbuduj drzewo DOM (możesz do tego użyć gotowych bibliotek) i ganiaj rekurencyjnie po węzłach;
  • jeśli zależy Ci tylko na linkach znajdź w tekście tagi a, img i inne tego typu, albo wszystkie zawierające atrybut src, href, link itp. możesz do tego użyć regex'ów.
0

Rekurencja niestety nie wchodzi w grę z facji optymalizacji i wydajności (dziesiątki bardzo długich stron) chociaż pomysł jest na prawdę fajny. Wyrażenia regularne na pewno będą pomocne ale to ciągle jest niemal to samo co wycinanie substringiem w połączeniu z indexOf'em. Zastanawiam się ciągle jednak czy nie istnieje jakaś gotowa klasa do takowej 'obróbki' kodu html. Szukałem, szukam.. ale na nic ciekawego nie trafiam...

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