Wyświetlanie wybranego fragmentu kodu html w JLabel

0

Witam wszystkich jako nowy na forum :)
Zaczynam swoją przygodę z językiem java.
Chcę napisać program pobierający dane ze strony internetowej i wyświetlający je np w jakimś jLabel.
Dane te (jakiś tekst) są umieszczone między znacznikami.

Dla przykładu:
Jakis tam teskt, ktory ma zostac wyswietlony

Czytałem, że można zawartość stronki zapisać do stringa. Ogarnąłem to, jednak jak w tym stringu odnaleźć teraz wybrany fragment?
Bo z samym umieszczeniem tego w jLabel już raczej nie powinienem mieć problemów.

A może jest jakiś inny/lepszy/łatwiejszy sposób na wyświetlenie tekstu spomiędzy danych znaczników?

Pozdrawiam :)

0
String s=">Cosik<";
        
System.out.println(  s.substring(s.indexOf(">")+1, s.indexOf("<")));

Wynikiem działania tego będzie wypisanie Cosik na konsolu :)

W Twoim przypadku będziesz musiał zacząć szukać dopiero od któregoś indeksu inaczej znajdzie Ci początkowe znaki co się urządzać nie będzie .

mam nadzieję że pomoglem

pzdr

0

@wojciechmaciejewski

String s=">Cosik<";
System.out.println(  s.substring(s.indexOf(">")+1, s.lastIndexOf("<")));

Już go powinno urządzać bez kombinowania z szukaniem indeksów.

0
<section class="description-content">
                <p>Ten tekst powinien zostac wlasnie wyswietlony</p>

Zrobiłem to tak:

System.out.println( s.substring(s.indexOf(" content">

")+1, s.lastIndexOf("<")));

I jakoś nie idzie....

Zapomniałem dodać, że tekst na stronie codziennie ulega zmianie, dlatego też muszę "drukować" szukając po znaczniku, nie tekście.

0

a sprawdziłeś na debugerze co Ci wychodzi czy tylko se tak napisałeś żeby się poskarżyć że Ci nie działa?

poza tym czy swoją zmienną tekstową też nazwałeś s?
czy tylko przekopiowałeś bez sensu fragment kodu który wkleiłem?

konkrety Marcin konkrety bez tego Ci nikt nie pomoże :)

0

Przed słowem "content" masz chyba niepotrzebną spację. No i czy na pewno między section a p jest spacja, czy może jakieś inne białe znaki?

0

To są bankowo spacje, oto mój kod:

import java.net.;
import java.io.
;

public class URLConnectionReader {
public static void main(String[] args) throws Exception {

    URL oracle = new URL("http://magia.onet.pl/horoskop/horoskop-zodiakalny,3/dzienny/skorpion,626,0.html");
    BufferedReader in = new BufferedReader(
    new InputStreamReader(oracle.openStream()));

    String inputLine;
    while ((inputLine = in.readLine()) != null)
        //System.out.println(inputLine);
   System.out.println(inputLine.substring(inputLine.indexOf("<section class=\"horoscope-content\">")+1, inputLine.lastIndexOf("<p><strong>")));
    
    in.close();
}

}

A wyrzuca mi:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(Unknown Source)
at URLConnectionReader.main(URLConnectionReader.java:14) --------------------> linijka z System.out... itd

Wychodzi na to, że wyszedłem poza stringa?

0

indexOf zwraca -1 wtedy gdy nie ma takiego stringa w związku z czym szukasz czegoś czego nie ma, ciężko mi powiedzieć czego :P

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