jsoup: Java HTML parsētājs
Iegūstiet, tīriet un manipulējiet ar HTML ar jQuery līdzīgu vienkāršību Java
Kas ir jsoup?
jsoup ir viegla, bet jaudīga Java bibliotēka, kas paredzēta darbam ar reāla pasaules HTML. Tā nodrošina vienkāršu API HTML parsēšanai no URL, failiem vai virknēm, datu iegūšanai un manipulācijai, izmantojot DOM pārlūkošanu, CSS selektorus un modernas HTML5 metodes. Ideāli piemērota web skreipingam, datu iegūšanai un HTML attīrīšanai, jsoup veiksmīgi apstrādā nekorektu marķējumu - tieši tāpat kā pārlūkprogramma.
Atšķirībā no izejas regex pieejām, jsoup piedāvā tīru objektu modeli ar jQuery iedvesmotām metodēm, vienkāršojot tādus uzdevumus kā formu iesniegšana, atribūtu modificēšana un teksta iegūšana. Bez atkarībām un ar MIT licenci, tā ir Java izstrādātāju favorīts, kad nepieciešama uzticama HTML apstrāde.
Galvenās jsoup priekšrocības:
- Reāla pasaules HTML apstrāde: Parsē nekārtīgu HTML tāpat kā pārlūkprogramma
- jQuery līdzīga sintakse: Pazīstami CSS selektori (piem.,
doc.select("div.content")
) - Skreipingam draudzīgs: Seko pāradresējumiem, apstrādā sīkdatnes, iesniedz formas
- Platformu neatkarīgs: Tīra Java bez nativajām atkarībām
- Drošība: Iebūvēta XSS novēršana un HTML attīrīšana
Ideāli piemērots datu ieguvei, web automatizācijai un satura analīzei.
Kāpēc izvēlēties jsoup?
- Vienkāršība: Intuitīvs API ar CSS selektoru atbalstu
- Uzticamība: Aktīvi uzturēts kopš 2009. gada
- Veiktspēja: Optimizēts straumēšanai un lieliem dokumentiem
- Elastība: Strādā ar fragmentiem, failiem vai tiešiem URL
- Tīrs izvads: Jauki formatē un pārveido HTML
Instalēšana
Pievienojiet jsoup izmantojot Maven vai Gradle:
Maven
org.jsoup
jsoup
1.17.2
Gradle
implementation 'org.jsoup:jsoup:1.17.2'
Sistēmas prasības: Java 8+
Kodu piemēri
Praktiski jsoup lietojuma piemēri:
1. piemērs: Dokumenta parsēšana no virknes
Ja jums ir HTML Java virknē un vēlaties to parsēt, lai iegūtu tā saturu vai modificētu, jsoup to var paveikt tikai ar dažām koda rindiņām.
Metode parse(String html, String baseUri)
pārvērš ievades HTML jaunā Dokumentā. Parametrs baseUri
palīdz pārveidot relatīvos URL absolūtos URL un vajadzētu atbilst URL, no kura dokuments tika iegūts. Ja tas nav būtiski vai ja HTML satur <base>
elementu, varat izmantot vienkāršāko metodi parse(String html)
.
2. piemērs: Elementu atrašana, izmantojot CSS selektorus
Ja vēlaties atrast vai manipulēt ar elementiem, izmantojot CSS selektorus, parsējiet un modificējiet HTML virkni tieši:
3. piemērs: Elementa HTML modificēšana
Ja nepieciešams modificēt elementa HTML, izmantojiet Element HTML setter metodes, kā parādīts šajā piemērā.
Paplašinātās funkcijas
jsoup atbalsta profesionālu HTML apstrādi:
- Formu apstrāde: POST datu iesniegšana:
Formas iesniegšana
Connection.Response res = Jsoup.connect("https://example.com/login") .data("username", "user", "password", "pass") .method(Connection.Method.POST) .execute(); Document dashboard = res.parse();
- Proxy atbalsts: Skreipings caur proxy:
Proxy konfigurācija
Document doc = Jsoup.connect("https://target.com") .proxy("127.0.0.1", 8080) .get();
- DOM manipulācija: HTML struktūras modificēšana:
DOM izmaiņas
doc.select("div.ads").remove(); // Noņemt visus reklāmas doc.select("h1").attr("class", "header"); // Pievienot CSS klasi
jsoup vs HTMLUnit
Galvenās atšķirības:
- Fokuss: jsoup parsē statisku HTML; HTMLUnit imitē pārlūkprogrammu (izpilda JavaScript)
- Ātrums: jsoup ir ātrāks tīrai HTML parsēšanai
- API stils: jsoup izmanto CSS selektorus; HTMLUnit imitē Selenium
- Lietojuma gadījumi: jsoup skreipingam; HTMLUnit dinamisko lapu testēšanai
- Atkarības: jsoup nav; HTMLUnit prasa papildu bibliotēkas
Secinājums
jsoup ir galīgais HTML rīku komplekts Java izstrādātājiem. Ideāli piemērots:
- Web skreipingam: Datu iegūšanai no jebkuras vietnes
- Datu attīrīšanai: HTML attīrīšanai un normalizēšanai
- Satura analīzei: RSS plūsmu vai web arhīvu parsēšanai
- Testēšanai: HTML struktūras pārbaudei lietotnēs
Ar MIT licenci un intuitīvu API, jsoup ir labākais izvēles variants Java bāzētai HTML apstrādei.
Similar Products
- pdf-lib | JavaScript PDF redaktors | Izveidot un modificēt PDF failus
- PDFKit | Dinamiskā JavaScript PDF izveides bibliotēka
- pdfmake | JavaScript bibliotēka deklaratīvai PDF izveidei
- python-docx | Python DOCX redaktora API | Izveidot un modificēt DOCX failus
- Apache PDFBox API Java – PDF teksta izvilkšana un manipulācija