jsoup: Java HTML parser
Skrapejte, čistěte a manipulujte HTML s jQuery-like jednoduchostí v Javě
Co je jsoup?
jsoup je lehká, ale výkonná Java knihovna určená pro práci s reálným HTML. Poskytuje jednoduché API pro parsování HTML z URL, souborů nebo řetězců, extrakci a manipulaci dat pomocí procházení DOM, CSS selektorů a moderních HTML5 metod. Ideální pro web scraping, extrakci dat a čištění HTML, jsoup zvládá chybně formátované značky stejně jako prohlížeč.
Na rozdíl od přístupů s regulárními výrazy nabízí jsoup čistý objektový model s metodami inspirovanými jQuery, což zjednodušuje úkoly jako odesílání formulářů, úpravy atributů a extrakci textu. Bez závislostí a s licencí MIT je oblíbenou volbou pro Java vývojáře potřebující spolehlivé zpracování HTML.
Klíčové výhody jsoup:
- Práce s reálným HTML: Parsuje neuspořádané HTML jako prohlížeč
- Syntaxe podobná jQuery: Známé CSS selektory (např.
doc.select("div.content")
) - Vhodné pro scraping: Sleduje přesměrování, pracuje s cookies a odesílá formuláře
- Multiplatformní: Čistá Java bez nativních závislostí
- Bezpečnost: Vestavěná ochrana proti XSS a čištění HTML
Perfektní pro dolování dat, automatizaci webu a analýzu obsahu.
Proč zvolit jsoup?
- Jednoduchost: Intuitivní API s podporou CSS selektorů
- Spolehlivost: Aktivně vyvíjeno od roku 2009
- Výkon: Optimalizováno pro streamování a velké dokumenty
- Flexibilita: Pracuje s fragmenty, soubory nebo živými URL
- Čistý výstup: Formátuje a upravuje HTML
Instalace
Přidejte jsoup přes Maven nebo Gradle:
Maven
org.jsoup
jsoup
1.17.2
Gradle
implementation 'org.jsoup:jsoup:1.17.2'
Systémové požadavky: Java 8+
Příklady kódu
Praktické příklady použití jsoup:
Příklad 1: Parsování dokumentu z řetězce
Pokud máte HTML v Java řetězci a chcete jej analyzovat pro získání obsahu nebo úpravy, jsoup to zvládne v několika řádcích kódu.
Metoda parse(String html, String baseUri) převádí vstupní HTML na nový Document. Parametr baseUri pomáhá převádět relativní URL na absolutní a měl by odpovídat URL, ze kterého byl dokument získán. Pokud to není relevantní nebo pokud HTML obsahuje prvek <base>, můžete použít jednodušší metodu parse(String html).
Příklad 2: Použití CSS selektorů k nalezení prvků
Chcete najít nebo manipulovat s prvky pomocí CSS selektorů. Analyzujte a upravte HTML řetězec přímo:
Příklad 3: Úprava HTML prvku
Potřebujete upravit HTML prvku. Použijte metody pro nastavení HTML v Element, jak je ukázáno v následujícím příkladu:
Pokročilé funkce
jsoup podporuje profesionální zpracování HTML:
- Práce s formuláři: Odeslání POST dat:
Odeslání formuláře
Connection.Response res = Jsoup.connect("https://example.com/login") .data("username", "user", "password", "pass") .method(Connection.Method.POST) .execute(); Document dashboard = res.parse();
- Podpora proxy: Scraping přes proxy:
Nastavení proxy
Document doc = Jsoup.connect("https://target.com") .proxy("127.0.0.1", 8080) .get();
- Manipulace DOM: Úprava struktury HTML:
Změny DOM
doc.select("div.ads").remove(); // Odstraní všechny reklamy doc.select("h1").attr("class", "header"); // Přidá CSS třídu
jsoup vs. HTMLUnit
Klíčové rozdíly:
- Zaměření: jsoup parsuje statické HTML; HTMLUnit simuluje prohlížeče (spouští JavaScript)
- Rychlost: jsoup je rychlejší pro čisté parsování HTML
- Styl API: jsoup používá CSS selektory; HTMLUnit napodobuje Selenium
- Případy použití: jsoup pro scraping; HTMLUnit pro testování dynamických stránek
- Závislosti: jsoup nemá žádné; HTMLUnit vyžaduje další knihovny
Závěr
jsoup je ultimátní nástroj pro Java vývojáře pracující s HTML. Ideální pro:
- Web scraping: Extrakci dat z jakéhokoliv webu
- Čištění dat: Sanitaci a normalizaci HTML
- Analýzu obsahu: Parsování RSS feedů nebo webových archivů
- Testování: Ověřování struktury HTML v aplikacích
S licencí MIT a intuitivním API je jsoup nejlepší volbou pro zpracování HTML v Javě.
Podobné Produkty
- Apache POI XWPF | Open Source Java API pro vytváření a úpravu souborů DOCX
- DocX | Open Source .NET API pro vytváření a úpravu souborů DOCX
- Docx4J | Open Source Java API pro vytváření a úpravu souborů DOC a DOCX
- ExcelDataReader | Open Source .NET API pro čtení XLS, XLSX, CSV a tabulkových dokumentů
- FileFormat.Cells | Vytvářejte a aktualizujte soubory Excel pomocí C# .NET