jsoup: A Java HTML elemző
Scrapelj, tisztítsd és manipuláld a HTML-t jQuery-szerű egyszerűséggel Javaban
Mi az jsoup?
A jsoup egy könnyű, de hatékony Java könyvtár, amely valós HTML-feldolgozásra készült. Egyszerű API-t kínál HTML elemzéshez URL-ekből, fájlokból vagy stringekből, adatok kinyeréséhez és manipulálásához DOM bejárás, CSS szelektorok és modern HTML5 módszerek segítségével. Ideális web scrapinghez, adatkinyeréshez és HTML tisztításhoz, a jsoup elegánsan kezeli a hibásan formázott markupot - pont mint egy böngésző.
A regex megközelítésekkel ellentétben a jsoup tiszta objektummodellt kínál jQuery ihlette metódusokkal, leegyszerűsítve olyan feladatokat, mint űrlapküldés, attribútum módosítás és szövegkinyerés. Függőségek nélkül és MIT licenszel, a Java fejlesztők kedvence, akik megbízható HTML-feldolgozásra van szükségük.
A jsoup fő előnyei:
- Valós HTML kezelés: Rendetlen HTML-t elemzi, mint a böngészők
- jQuery-szerű szintaxis: Ismerős CSS szelektorok (pl.
doc.select("div.content")
) - Scraping-barát: Követi az átirányításokat, kezeli a sütiket és küld űrlapokat
- Platformfüggetlen: Tiszta Java, natív függőségek nélkül
- Biztonság: Beépített XSS védelem és HTML tisztítás
Tökéletes adatbányászatra, web automatizálásra és tartalomelemzésre.
Miért válasszuk a jsoup-ot?
- Egyszerűség: Intuitív API CSS szelektor támogatással
- Megbízhatóság: Aktívan karbantartott 2009 óta
- Teljesítmény: Optimalizált streamingre és nagy dokumentumokra
- Rugalmasság: Működik töredékekkel, fájlokkal vagy élő URL-ekkel
- Tiszta kimenet: Szépen formázza és újraformázza a HTML-t
Telepítés
A jsoup hozzáadása Maven vagy Gradle segítségével:
Maven
org.jsoup
jsoup
1.17.2
Gradle
implementation 'org.jsoup:jsoup:1.17.2'
Rendszerkövetelmények: Java 8+
Kódpéldák
Gyakorlati jsoup használati példák:
1. példa: Dokumentum elemzése stringből
Ha HTML tartalommal rendelkezik egy Java stringben, és elemezni szeretné a tartalmát vagy módosítani azt, a jsoup mindezt néhány kódsorral megoldja.
A parse(String html, String baseUri) metódus a bemeneti HTML-t új Documenttá alakítja. A baseUri paraméter segít a relatív URL-ek abszolút URL-ekké alakításában, és meg kell egyeznie annak az URL-nek, ahonnan a dokumentum származik. Ha ez nem releváns, vagy ha a HTML <base> elemet tartalmaz, használhatja az egyszerűbb parse(String html) metódust.
2. példa: Elemek keresése CSS szelektorokkal
Elemek kereséséhez vagy manipulálásához CSS szelektorok használatával. Elemezze és manipulálja közvetlenül a HTML stringet:
3. példa: Elem HTML-jének módosítása
Egy elem HTML-jét kell módosítania. Használja az Element HTML setter metódusait az alábbi példakód szerint:
Haladó funkciók
A jsoup támogatja a professzionális HTML-feldolgozást:
- Űrlapkezelés: POST adatok küldése:
Űrlapküldés
Connection.Response res = Jsoup.connect("https://example.com/login") .data("username", "user", "password", "pass") .method(Connection.Method.POST) .execute(); Document dashboard = res.parse();
- Proxy támogatás: Scrapelés proxyn keresztül:
Proxy beállítás
Document doc = Jsoup.connect("https://target.com") .proxy("127.0.0.1", 8080) .get();
- DOM manipuláció: HTML struktúra módosítása:
DOM változtatások
doc.select("div.ads").remove(); // Eltávolítja a reklámokat doc.select("h1").attr("class", "header"); // CSS osztály hozzáadása
jsoup vs. HTMLUnit
Főbb különbségek:
- Fókusz: A jsoup statikus HTML-t elemzi; a HTMLUnit böngészőket szimulál (JavaScript végrehajtás)
- Sebesség: A jsoup gyorsabb tiszta HTML elemzéshez
- API stílus: A jsoup CSS szelektorokat használ; a HTMLUnit a Seleniumot utánozza
- Használati esetek: jsoup scrapinghez; HTMLUnit dinamikus oldalak teszteléséhez
- Függőségek: A jsoupnak nincsenek; a HTMLUnit további könyvtárakat igényel
Összegzés
A jsoup a végső HTML eszközkészlet Java fejlesztőknek. Ideális:
- Web scraping: Adatkinyerés bármely weboldalról
- Adattisztítás: HTML fertőtlenítés és normalizálás
- Tartalomelemzés: RSS feedek vagy web archívumok elemzése
- Tesztelés: HTML struktúra ellenőrzése alkalmazásokban
MIT licenszel és intuitív API-val, a jsoup a legjobb választás HTML-feldolgozáshoz Javaban.
Hasonló Termékek
- Apache POI XWPF | Nyílt forráskódú Java API a DOCX-fájlok létrehozásához és módosításához
- DocX | Nyílt forráskódú .NET API DOCX-fájlok létrehozásához és módosításához
- Docx4J | Nyílt forráskódú Java API DOC és DOCX fájlok létrehozásához és módosításához
- ExcelDataReader | Nyílt forráskódú .NET API az XLS, XLSX, CSV és táblázatos dokumentumok olvasásához
- FileFormat.Cells | Cerate és frissítse az Excel fájlokat a C# .NET segítségével