jsoup: Java HTML-jäsennin

Poimi, puhdista ja muokkaa HTML:ää jQueryn kaltaisella yksinkertaisuudella Javassa

Mikä on jsoup?

jsoup on kevyt mutta tehokas Java-kirjasto, joka on suunniteltu todellisen HTML:n käsittelyyn. Se tarjoaa intuitiivisen API:n HTML:n jäsentämiseen URL-osoitteista, tiedostoista tai merkkijonoista, datan poimimiseen ja muokkaamiseen DOM-kiertelyn, CSS-valitsimien ja modernien HTML5-metodien avulla. Ihanteellinen verkkonäytteenottoon, datan poimimiseen ja HTML:n puhdistukseen, jsoup käsittelee virheellisesti muotoiltua merkintää siististi - aivan kuten selain tekisi.

Toisin kuin regex-lähestymistavat, jsoup tarjoaa siistin objektimallin jQuerystä inspiroituneilla metodeilla, jotka yksinkertaistavat tehtäviä kuten lomakkeiden lähettämistä, attribuuttien muokkaamista ja tekstin poimimista. Ilman riippuvuuksia ja MIT-lisenssillä se on Java-kehittäjien suosima luotettava HTML:n käsittelykirjasto.

jsoupin keskeiset edut:

  • Todellisen HTML:n käsittely: Jäsentää sotkuista HTML:ää kuten selaimet
  • jQueryn kaltainen syntaksi: Tutut CSS-valitsimet (esim. doc.select("div.content"))
  • Näytteenottoon suunniteltu: Seuraa uudelleenohjauksia, käsittelee evästeitä ja lähettää lomakkeita
  • Alustariippumaton: Puhdas Java ilman natiiveja riippuvuuksia
  • Turvallisuus: Sisäänrakennettu XSS-suojaus ja HTML:n puhdistus

Ihanteellinen datan louhintaan, verkkosivujen automatisointiin ja sisällön analysointiin.

GitHub

GitHub-tilastot

Nimi:
Kieli:
Tähdet:
Haarukat:
Lisenssi:
Arkisto päivitettiin viimeksi klo

Miksi valita jsoup?

  • Yksinkertaisuus: Intuitiivinen API CSS-valitsinten tuella
  • Luotettavuus: Aktiivisesti ylläpidetty vuodesta 2009
  • Suorituskyky: Optimoitu suoratoistolle ja suurille dokumenteille
  • Joustavuus: Toimii osioiden, tiedostojen tai live-URL-osoitteiden kanssa
  • Siistit tulosteet: Muotoilee ja uudelleenrakentaa HTML:ää

Asennus

Lisää jsoup Mavenin tai Gradlen avulla:

Maven



    org.jsoup
    jsoup
    1.17.2


Gradle


implementation 'org.jsoup:jsoup:1.17.2'

Järjestelmävaatimukset: Java 8+

Koodiesimerkkejä

Käytännön esimerkkejä jsoupin käytöstä:

HTML-jäsennys jsoupilla

Esimerkki 1: Dokumentin jäsentäminen merkkijonosta

Jos sinulla on HTML Java-merkkijonona ja haluat jäsentää sen sisällön saamiseksi tai muokkaamiseksi, jsoup tekee tämän muutamalla koodirivillä.

parse(String html, String baseUri)-metodi muuntaa syötteenä annetun HTML:n uudeksi Document-olioksi. baseUri-parametri auttaa muuttamaan suhteelliset URL-osoitteet absoluuttisiksi ja sen tulisi vastata URL-osoitetta, josta dokumentti noudettiin. Jos tämä ei ole oleellista tai jos HTML sisältää <base>-elementin, voit käyttää yksinkertaisempaa parse(String html)-metodia.

Esimerkki 2: Elementtien etsiminen CSS-valitsimilla

Haluat etsiä tai muokata elementtejä CSS-valitsimien avulla. Jäsennä ja muokkaa HTML-merkkijonoa suoraan:

Esimerkki 3: Elementin HTML:n muokkaaminen

Sinun täytyy muokata elementin HTML:ää. Käytä Element-luokan HTML-asettajamenetelmiä kuten seuraavassa esimerkissä:

Edistyneet ominaisuudet

jsoup tukee ammattimaista HTML:n käsittelyä:

  • Lomakkeiden käsittely: POST-datan lähettäminen:

    Lomakkeen lähetys

    
        Connection.Response res = Jsoup.connect("https://example.com/login")
            .data("username", "user", "password", "pass")
            .method(Connection.Method.POST)
            .execute();
        Document dashboard = res.parse();
        
    
  • Välityspalvelintuki: Näytteenotto välityspalvelimen kautta:

    Välityspalvelimen asetukset

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

    DOM-muutokset

    
        doc.select("div.ads").remove(); // Poistaa kaikki mainokset
        doc.select("h1").attr("class", "header"); // Lisää CSS-luokan
        
    

jsoup vs. HTMLUnit

Keskeiset erot:

  • Keskittyminen: jsoup jäsentää staattista HTML:ää; HTMLUnit simuloi selaimia (JavaScriptin suoritus)
  • Nopeus: jsoup on nopeampi puhtaaseen HTML-jäsentämiseen
  • API-tyyli: jsoup käyttää CSS-valitsimia; HTMLUnit matkii Seleniumia
  • Käyttötapaukset: jsoup näytteenottoon; HTMLUnit dynaamisten sivujen testaamiseen
  • Riippuvuudet: jsoupilla ei ole; HTMLUnit vaatii lisäkirjastoja

Johtopäätös

jsoup on lopullinen HTML-työkalupakki Java-kehittäjille. Ihanteellinen:

  • Verkkonäytteenottoon: Poimi tietoa mistä tahansa verkkosivustosta
  • Datan puhdistukseen: Desinfioi ja normalisoi HTML:ää
  • Sisällön analysointiin: Jäsennä RSS-syötteitä tai verkkokokoelmia
  • Testaamiseen: Vahvista HTML-rakenteet sovelluksissa

MIT-lisenssillä ja intuitiivisella API:lla jsoup on paras valinta HTML:n käsittelyyn Javassa.

Samankaltaisia Tuotteita

 Finnish