jsoup: Java HTML analizatorius
Gaukite, valykite ir manipuokite HTML su jQuery paprastumu Java kalboje
Kas yra jsoup?
jsoup yra lengva, bet galinga Java biblioteka, skirta darbui su realaus pasaulio HTML. Ji siūlo intuityvų API HTML analizei iš URL, failų ar eilučių, duomenų išgavimui ir manipuliavimui naudojant DOM navigaciją, CSS selektorius ir šiuolaikinius HTML5 metodus. Idealus tinklalapių duomenų gavimui, duomenų išgavimui ir HTML valymui, jsoup puikiai tvarko netaisyklingą žymėjimą – lygiai kaip naršyklė.
Skirtingai nuo paprastų regex sprendimų, jsoup siūlo švarų objektų modelį su jQuery įkvėptais metodais, supaprastinančiais tokias užduotis kaip formų pateikimas, atributų modifikavimas ir teksto išgavimas. Be jokių priklausomybių ir su MIT licencija, tai mėgstamiausia Java kūrėjų pasirinkimas, kai reikia patikimo HTML apdorojimo.
Pagrindiniai jsoup privalumai:
- Realaus pasaulio HTML apdorojimas: Analizuoja netvarką HTML kaip naršyklė
- jQuery stiliaus sintaksė: Įprasti CSS selektoriai (pvz.,
doc.select("div.content")
) - Duomenų gavimui pritaikyta: Seka peradresavimus, tvarko slapukus, pateikia formas
- Kelių platformų: Grynas Java be jokių priklausomybių
- Saugumas: Integruota XSS prevencija ir HTML valymas
Puikiai tinka duomenų gavybai, interneto automatizavimui ir turinio analizei.
Kodėl rinktis jsoup?
- Paprastumas: Intuityvus API su CSS selektorių palaikymu
- Patikimumas: Aktyviai palaikomas nuo 2009 m.
- Sparta: Optimizuotas srautiniam apdorojimui ir dideliems dokumentams
- Lankstumas: Veikia su fragmentais, failais ar tiesioginiais URL
- Švarus išvedimas: Gražiai formatuoja ir pertvarko HTML
Diegimas
Pridėkite jsoup per Maven arba Gradle:
Maven
org.jsoup
jsoup
1.17.2
Gradle
implementation 'org.jsoup:jsoup:1.17.2'
Sistemos reikalavimai: Java 8+
Kodo pavyzdžiai
Praktiniai jsoup naudojimo atvejai:
1 pavyzdys: Dokumento analizė iš eilutės
Jei turite HTML Java eilutėje ir norite jį analizuoti norėdami gauti turinį arba jį modifikuoti, jsoup gali tai padaryti vos keliais kodo eilutėmis.
Metodas parse(String html, String baseUri)
paverčia įvesties HTML į naują Dokumentą. Parametras baseUri
padeda išspręsti santykinius URL į absoliučius ir turėtų atitikti URL, iš kurio dokumentas buvo gautas. Jei tai nėra svarbu arba jei HTML yra <base>
elementas, galite naudoti paprastesnį metodą parse(String html)
.
2 pavyzdys: Elementų paieška naudojant CSS selektorius
Norėdami rasti arba manipuoti elementais naudodami CSS selektorius, tiesiogiai analizuokite ir modifikuokite HTML eilutę:
3 pavyzdys: Elemento HTML modifikavimas
Jei reikia modifikuoti elemento HTML, naudokite Element HTML setter metodus, kaip parodyta šiame pavyzdyje.
Išplėstinės funkcijos
jsoup palaiko profesionalų HTML apdorojimą:
- Formų apdorojimas: POST duomenų pateikimas:
Formos pateikimas
Connection.Response res = Jsoup.connect("https://example.com/login") .data("username", "user", "password", "pass") .method(Connection.Method.POST) .execute(); Document dashboard = res.parse();
- Proxy palaikymas: Duomenų gavimas per proxy:
Proxy konfigūracija
Document doc = Jsoup.connect("https://target.com") .proxy("127.0.0.1", 8080) .get();
- DOM manipuliavimas: HTML struktūros modifikavimas:
DOM pakeitimai
doc.select("div.ads").remove(); // Pašalinti visus skelbimus doc.select("h1").attr("class", "header"); // Pridėti CSS klasę
jsoup vs HTMLUnit
Pagrindiniai skirtumai:
- Fokusas: jsoup analizuoja statinį HTML; HTMLUnit imituoja naršyklę (vykdo JavaScript)
- Greitis: jsoup greitesnis grynos HTML analizės atveju
- API stilius: jsoup naudoja CSS selektorius; HTMLUnit imituoja Selenium
- Naudojimo atvejai: jsoup tinka duomenų gavimui; HTMLUnit – dinamiškų puslapių testavimui
- Priklausomybės: jsoup neturi; HTMLUnit reikalauja papildomų bibliotekų
Išvada
jsoup yra galutinė Java kūrėjų HTML įrankių rinkinys. Idealus:
- Tinklalapių duomenų gavimui: Išgauti duomenis iš bet kurios svetainės
- Duomenų valymui: Valyti ir normalizuoti HTML
- Turinio analizei: Analizuoti RSS srautus ar interneto archyvus
- Testavimui: Tikrinti HTML struktūrą programose
Turėdamas MIT licenciją ir intuityvų API, jsoup yra geriausias pasirinkimas Java pagrindu veikiančiam HTML apdorojimui.
Similar Products
- pdf-lib | JavaScript PDF redaktorius | Kurti ir keisti PDF
- PDFKit | Dinaminė JavaScript PDF kūrimo biblioteka
- pdfmake | „JavaScript“ biblioteka, skirta deklaratyviam PDF kūrimui
- python-docx | Python DOCX redaktoriaus API | Kurti ir keisti DOCX failus
- Apache PDFBox API Java – PDF teksto išgavimas ir manipuliavimas