• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Java - parse HTML to DOM - jak to wykonać? (Nowicjusz)

Object Storage Arubacloud
0 głosów
732 wizyt
pytanie zadane 15 grudnia 2016 w Java przez Codexter Użytkownik (990 p.)

Hej,

chciałbym sparsować stronę do DOM Object, ale nie wiem jak się za to zabrać...

Do tej pory połączyłem się ze stroną, sprawdziłem czy dostaję status: 200 - i następnie jeśli strona odpowiada poprawnie, to zapisuję jej zawartość do Stringa.

Kod wygląda tak:

public void checkConnection() throws IOException {

        URL               url        = new URL(urlLink);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.connect();

        int code = connection.getResponseCode();

        if (code == 200) {
            System.out.println("Nawiązano poprawnie połączenie. Kod: " + code);
            setConnected(true);
        }

        if (connected == true) {

            BufferedReader br = new BufferedReader(new InputStreamReader((connection.getInputStream())));
            StringBuilder  sb = new StringBuilder();
            String         output;
            while ((output = br.readLine()) != null) {
                sb.append(output);
            }
            bodyContent = sb.toString();
            System.out.println(bodyContent);

            Pattern r = Pattern.compile("(<td class=\"offer \">)(.*)(<\\/td>)");
            Matcher m = r.matcher(bodyContent);
            if (m.find()) {
                System.out.println("Found value: " + m.group(0));
                //System.out.println("Found value: " + m.group(1) );
                //System.out.println("Found value: " + m.group(2) );
            } else {
                System.out.println("NO MATCH");
            }

            // http://stackoverflow.com/questions/457684/reading-html-file-to-dom-tree-using-java
            // http://nekohtml.sourceforge.net/

            
        }

    }

Teraz chciałbym, aby strona została sprasowana do DOM, później chcę z niej wyciągać informacje które mnie interesują. Jak widzicie zacząłem używać REGEX'a, ale wolałbym się oprzeć od DOM, później będzie prościej.

Jako totalnie zielony i dopiero się uczę, dlatego proszę o wyrozumiałość i pomoc :)

P.S. Trafiłem na coś takiego:

 

Z góry dziękuję,

Codexter

1 odpowiedź

+1 głos
odpowiedź 16 grudnia 2016 przez operator Stary wyjadacz (10,920 p.)
wybrane 16 grudnia 2016 przez Codexter
 
Najlepsza
To wydaje się być proste

https://jsoup.org/

Document doc = Jsoup.connect("http://en.wikipedia.org/").get();

Elements newsHeadlines = doc.select("#mp-itn b a");
komentarz 16 grudnia 2016 przez Codexter Użytkownik (990 p.)
Wczoraj wieczorem udało mi się to sprasować. Nie mniej jednak dziękuję Ci za odpowiedź :)

Pozdrawiam,

Codexter

Podobne pytania

+3 głosów
3 odpowiedzi 29,475 wizyt
pytanie zadane 11 kwietnia 2015 w Java przez procent Obywatel (1,140 p.)
0 głosów
0 odpowiedzi 724 wizyt
0 głosów
2 odpowiedzi 250 wizyt
pytanie zadane 18 czerwca 2023 w JavaScript przez Piotrek2713 Mądrala (5,380 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...