jsoup: Java HTML-parseren

Skrap, rens og manipuler HTML med jQuery-lik enkelhet i Java

Hva er jsoup?

jsoup er et lettvektig men kraftig Java-bibliotek designet for arbeid med ekte HTML. Det gir et sømløst API for parsing av HTML fra URL-er, filer eller strenger, ekstrahering og manipulasjon av data ved hjelp av DOM-traversering, CSS-selektorer og moderne HTML5-metoder. Ideell for web-skraping, datautvinning og HTML-sanitering, håndterer jsoup feilformatert markup på samme måte som en nettleser.

I motsetning til rå regex-tilnærminger, tilbyr jsoup en ren objektmodell med jQuery-inspirerte metoder, som forenkler oppgaver som skjemainnsending, attributtmodifikasjon og tekstutvinning. Uten avhengigheter og med MIT-lisens er det en favoritt blant Java-utviklere som trenger pålitelig HTML-behandling.

Viktigste fordeler med jsoup:

  • Ekte HTML-behandling: Parser rotete HTML slik nettlesere gjør
  • jQuery-lik syntaks: Kjente CSS-selektorer (f.eks. doc.select("div.content"))
  • Skrapingvennlig: Følger omdirigeringer, håndterer informasjonskapsler og sender skjemaer
  • Tverrplattform: Ren Java uten native avhengigheter
  • Sikkerhet: Innebygd XSS-prevensjon og HTML-sanitering

Perfekt for datamining, webautomasjon og innholdsanalyse.

GitHub

GitHub-statistikk

Navn:
Språk:
Stjerner:
Gafler:
Tillatelse:
Repository ble sist oppdatert kl

Hvorfor velge jsoup?

  • Enkelhet: Intuitivt API med CSS-selektorstøtte
  • Pålitelighet: Aktivt vedlikeholdt siden 2009
  • Ytelse: Optimalisert for strømming og store dokumenter
  • Fleksibilitet: Fungerer med fragmenter, filer eller live URL-er
  • Ren output: Pen utskrift og reformatering av HTML

Installasjon

Legg til jsoup via Maven eller Gradle:

Maven



    org.jsoup
    jsoup
    1.17.2


Gradle


implementation 'org.jsoup:jsoup:1.17.2'

Systemkrav: Java 8+

Kodeeksempler

Praktiske brukstilfeller for jsoup:

HTML-parsing med jsoup

Eksempel 1: Parse et dokument fra en streng

Hvis du har HTML i en Java-streng og ønsker å parse HTML-en for å få innholdet eller endre det, kan jsoup gjøre dette med bare noen få kodelinjer.

Metoden parse(String html, String baseUri) konverterer inndata-HTML til et nytt dokument. baseUri-parameteren hjelper til med å løse relative URL-er til absolutte URL-er og bør tilsvare URL-en dokumentet ble hentet fra. Hvis dette ikke er relevant, eller hvis HTML-en inneholder et <base>-element, kan du bruke den enklere metoden parse(String html) i stedet.

Eksempel 2: Bruk CSS-selektorer til å finne elementer

Du ønsker å finne eller manipulere elementer ved hjelp av CSS-selektorer. Parse og manipuler en HTML-streng direkte:

Eksempel 3: Endre HTML-en til et element

Du må endre HTML-en til et element. Bruk HTML-settermetodene i Element som vist i følgende kodeeksempel.

Avanserte funksjoner

jsoup støtter profesjonell HTML-behandling:

  • Skjemahåndtering: Send POST-data:

    Skjemainnsending

    
        Connection.Response res = Jsoup.connect("https://example.com/login")
            .data("username", "user", "password", "pass")
            .method(Connection.Method.POST)
            .execute();
        Document dashboard = res.parse();
        
    
  • Proxy-støtte: Skrap gjennom proxy:

    Proxykonfigurasjon

    
        Document doc = Jsoup.connect("https://target.com")
            .proxy("127.0.0.1", 8080)
            .get();
        
    
  • DOM-manipulasjon: Endre HTML-struktur:

    DOM-endringer

    
        doc.select("div.ads").remove(); // Fjern alle annonser
        doc.select("h1").attr("class", "header"); // Legg til CSS-klasse
        
    

jsoup vs. HTMLUnit

Viktigste forskjeller:

  • Fokus: jsoup parser statisk HTML; HTMLUnit simulerer nettlesere (JavaScript-kjøring)
  • Hastighet: jsoup er raskere for ren HTML-parsing
  • API-stil: jsoup bruker CSS-selektorer; HTMLUnit etterligner Selenium
  • Brukstilfeller: jsoup for skraping; HTMLUnit for testing av dynamiske sider
  • Avhengigheter: jsoup har ingen; HTMLUnit krever ekstra biblioteker

Konklusjon

jsoup er det ultimate HTML-verktøysettet for Java-utviklere. Ideell for:

  • Web-skraping: Ekstrahere data fra hvilken som helst nettside
  • Datarensing: Sanitere og normalisere HTML
  • Innholdsanalyse: Parse RSS-feeder eller webarkiv
  • Testing: Verifisere HTML-struktur i apper

Med MIT-lisens og intuitivt API er jsoup toppvalget for Java-basert HTML-behandling.

Lignende Produkter

 Norsk