jsoup

General

Category
Free
Tag
HTML
License
MIT License
Registered
Jul 5, 2014
Favorites
2
Link
https://github.com/jhy/jsoup
See also
OWASP Java HTML Sanitizer
Goose for Android
ksoup
XTML
html-editor

Additional

Language
Java
Version
jsoup-1.17.2 (Dec 29, 2023)
Created
Dec 19, 2009
Updated
Feb 5, 2024
Owner
Jonathan Hedley (jhy)
Contributors
Halo Master (linkerlin)
cketti
Boris Korogvich (VEINHORN)
Sebastian (sebkur)
Ken Geis (kgeis)
Jeremy Landis (hazendaz)
/v\atthew L Daniel (mdaniel)
Pascal Schumacher (PascalSchumacher)
benbenw
Simon (Shepard)
Alexander Schwartz (ahus1)
Benjamin DANGLOT (danglotb)
Michael Simons (michael-simons)
Jonathan Hedley (jhy)
offa
Anton Kazennikov (kzn)
Mite Mitreski (mitemitreski)
Jai Ram Rideout (jairideout)
Show all (97)97
Activity
Badge
Generate
Download
Source code

Advertisement

jsoup: Java HTML Parser

jsoup is a Java library that makes it easy to work with real-world HTML and XML. It offers an easy-to-use API for URL fetching, data parsing, extraction, and manipulation using DOM API methods, CSS, and xpath selectors.

jsoup implements the WHATWG HTML5 specification, and parses HTML to the same DOM as modern browsers.

  • scrape and parse HTML from a URL, file, or string
  • find and extract data, using DOM traversal or CSS selectors
  • manipulate the HTML elements, attributes, and text
  • clean user-submitted content against a safe-list, to prevent XSS attacks
  • output tidy HTML

jsoup is designed to deal with all varieties of HTML found in the wild; from pristine and validating, to invalid tag-soup; jsoup will create a sensible parse tree.

See jsoup.org for downloads and the full API documentation.

Example

Fetch the Wikipedia homepage, parse it to a DOM, and select the headlines from the In the News section into a list of Elements:

Document doc = Jsoup.connect("https://en.wikipedia.org/").get();
log(doc.title());
Elements newsHeadlines = doc.select("#mp-itn b a");
for (Element headline : newsHeadlines) {
  log("%s\n\t%s", 
    headline.attr("title"), headline.absUrl("href"));
}

Online sample, full source.

Open source

jsoup is an open source project distributed under the liberal MIT license. The source code is available on GitHub.

Getting started

  1. Download the latest jsoup jar (or add it to your Maven/Gradle build)
  2. Read the cookbook
  3. Enjoy!

Android support

When used in Android projects, core library desugaring with the NIO specification should be enabled to support Java 8+ features.

Development and support

If you have any questions on how to use jsoup, or have ideas for future development, please get in touch via jsoup Discussions.

If you find any issues, please file a bug after checking for duplicates.

The colophon talks about the history of and tools used to build jsoup.

Status

jsoup is in general, stable release.