jsoup: Parserul HTML pentru Java
Extrage, curăță și manipulează HTML cu ușurința jQuery în Java
Ce este jsoup?
jsoup este o bibliotecă Java ușoară dar puternică, proiectată pentru lucrul cu HTML din lumea reală. Oferă un API fluid pentru parsarea HTML-ului din URL-uri, fișiere sau șiruri de caractere, extragerea și manipularea datelor folosind traversare DOM, selectoare CSS și metode moderne HTML5. Ideală pentru web scraping, extragere de date și curățare HTML, jsoup gestionează markup-ul defectuos - exact ca un browser.
Spre deosebire de abordările regex brute, jsoup oferă un model de obiecte curat cu metode inspirate din jQuery, simplificând sarcini precum trimiterea de formulare, modificarea atributelor și extragerea textului. Fără dependințe și cu licență MIT, este preferința dezvoltatorilor Java care au nevoie de procesare HTML fiabilă.
Avantajele cheie ale jsoup:
- Procesare HTML reală: Parsează HTML dezordonat ca un browser
- Sintaxă în stil jQuery: Selectoare CSS familiare (ex.
doc.select("div.content")
) - Prietenos cu scraping-ul: Urmărește redirectări, gestionează cookie-uri și trimite formulare
- Cross-platform: Java pur fără dependințe native
- Securitate: Prevenție XSS și curățare HTML integrate
Perfect pentru extragere de date, automatizare web și analiză de conținut.
De ce să alegi jsoup?
- Simplitate: API intuitiv cu suport pentru selectoare CSS
- Fiabilitate: Întreținut activ din 2009
- Performanță: Optimizat pentru streaming și documente mari
- Flexibilitate: Funcționează cu fragmente, fișiere sau URL-uri live
- Ieșire curată: Tipărește și reformatează HTML elegant
Instalare
Adaugă jsoup via Maven sau Gradle:
Maven
org.jsoup
jsoup
1.17.2
Gradle
implementation 'org.jsoup:jsoup:1.17.2'
Cerințe de sistem: Java 8+
Exemple de cod
Cazuri de utilizare practice pentru jsoup:
Exemplu 1: Parsarea unui document dintr-un șir
Dacă ai HTML într-un șir Java și vrei să-l parsezi pentru a-i obține conținutul sau să-l modifici, jsoup poate face asta cu doar câteva linii de cod.
Metoda parse(String html, String baseUri)
convertește HTML-ul de intrare într-un nou Document. Parametrul baseUri
ajută la rezolvarea URL-urilor relative în absolute și ar trebui să corespundă URL-ului de unde a fost obținut documentul. Dacă acest lucru nu este relevant sau dacă HTML-ul conține un element <base>
, poți folosi metoda mai simplă parse(String html)
.
Exemplu 2: Folosirea selectorilor CSS pentru a găsi elemente
Vrei să găsești sau să manipulezi elemente folosind selectoare CSS. Parsează și manipulează direct un șir HTML:
Exemplu 3: Modificarea HTML-ului unui element
Trebuie să modifici HTML-ul unui element. Folosește metodele setter HTML din Element așa cum este arătat în următorul exemplu de cod.
Funcționalități avansate
jsoup suportă procesare HTML profesională:
- Gestionare formulare: Trimite date POST:
Trimitere formular
Connection.Response res = Jsoup.connect("https://example.com/login") .data("username", "user", "password", "pass") .method(Connection.Method.POST) .execute(); Document dashboard = res.parse();
- Suport proxy: Scrapează prin proxy:
Configurare proxy
Document doc = Jsoup.connect("https://target.com") .proxy("127.0.0.1", 8080) .get();
- Manipulare DOM: Modifică structura HTML:
Modificări DOM
doc.select("div.ads").remove(); // Elimină toate reclamele doc.select("h1").attr("class", "header"); // Adaugă clasă CSS
jsoup vs. HTMLUnit
Diferențe cheie:
- Focus: jsoup parsează HTML static; HTMLUnit simulează browsere (execută JavaScript)
- Viteză: jsoup este mai rapid pentru parsare HTML pură
- Stil API: jsoup folosește selectoare CSS; HTMLUnit imită Selenium
- Cazuri de utilizare: jsoup pentru scraping; HTMLUnit pentru testare pagini dinamice
- Dependințe: jsoup nu are; HTMLUnit necesită biblioteci adiționale
Concluzie
jsoup este toolkit-ul HTML ultimate pentru dezvoltatorii Java. Ideal pentru:
- Web scraping: Extrage date de pe orice site web
- Curățare date: Sanitizează și normalizează HTML
- Analiză conținut: Parsează fluxuri RSS sau arhive web
- Testare: Verifică structura HTML în aplicații
Cu licență MIT și API intuitiv, jsoup este alegerea de top pentru procesarea HTML bazată pe Java.
Similar Products
- pdf-lib | Editor PDF JavaScript | Creați și modificați PDF-uri
- PDFKit | Bibliotecă de creare PDF dinamică JavaScript
- pdfmake | Biblioteca JavaScript pentru crearea PDF declarativ
- python-docx | Python DOCX Editor API | Creați și modificați fișiere DOCX
- Apache PDFBox API pentru Java - Extragere și Manipulare Text PDF