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.
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ä:
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
- Apache POI XWPF | Open Source Java API DOCX-tiedostojen luomiseen ja muokkaamiseen
- DocX | Avoimen lähdekoodin .NET API DOCX-tiedostojen luomiseen ja muokkaamiseen
- Docx4J | Open Source Java API DOC- ja DOCX-tiedostojen luomiseen ja muokkaamiseen
- ExcelDataReader | Avoimen lähdekoodin .NET API XLS-, XLSX-, CSV- ja laskentataulukkoasiakirjojen lukemiseen
- FileFormat.Cells | Cerate ja päivitä Excel-tiedostoja C#.NETllä