Java:
HTML:n jäsennys

Kuinka:

Käytetään Jsoupia, kätevää kirjastoa työskentelyyn todellisen maailman HTML:n kanssa. Lisätään ensin riippuvuus:

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.15.2</version>
</dependency>

Nyt hauskaan osaan. Näin napataan verkkosivun otsikko ja tulostetaan se:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class HtmlParser {
    public static void main(String[] args) throws IOException {
        String url = "http://example.com";
        Document doc = Jsoup.connect(url).get();
        String title = doc.title();
        System.out.println("Otsikko: " + title);
    }
}

Tuloste:

Otsikko: Example Domain

Entäpä linkkien poimiminen?

import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

// ... pää- tai muussa metodissa
Elements links = doc.select("a[href]");
for (Element link : links) {
    System.out.println("Linkki: " + link.attr("href"));
}

Syväsukellus

Aikoinaan HTML:ää kesytettiin regex-kuvioilla, menetelmällä, joka oli virhealtis ja painajaismainen monimutkaisille dokumenteille. Myöhemmin 2000-luvulla tuli Jsoup, joka tarjosi jQueryn kaltaisen käyttöliittymän Javalle HTML:n jäsentämiseen, kulkemiseen ja manipuloimiseen.

Jsoup ei ole ainoa vaihtoehto. On HtmlUnit täysmittaiseen web-sovellusten testaukseen JavaScript-tuella, mutta se on raskaampi ja monimutkaisempi. Kevyempiin tehtäviin Apache Commons Validator on loistava vain URL-osoitteiden poimintaan.

Sisäisesti Jsoup käyttää DOM-jäsentäjää, joka mallintaa koko dokumentin muistissa puuna. Tämä lähestymistapa tekee HTML-rakenteen valitsemisesta ja navigoinnista helppoa. Lisäksi se on anteeksiantava huolimattoman HTML-koodin kanssa, korjaten ongelmat lennosta ja varmistaen luotettavan jäsentämisen.

Muista, kun teet kaavintaa, tarkistaa aina sivuston robots.txt ja käyttöehdot, jotta vältät lailliset ongelmat tai IP-eston.

Katso Myös