{"adoption": {"forks": 2294, "observed_at": "2026-08-28T04:10:46.902703+00:00", "stars": 11387}, "canonical_url": "https://ross.abutalabs.com/products/jsoup", "card": {"archived": false, "artifact_type": "library", "description": "jsoup: the Java HTML parser, built for HTML editing, cleaning, scraping, and XSS safety.", "domain": ["web-development", "parsers", "crawlers", "security"], "enriched": true, "function": ["parser", "web-scraping", "security", "http-client"], "health_score": 100, "homepage": "https://jsoup.org", "language": "Java", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["jhy/jsoup"], "name": "jhy/jsoup", "platform": ["jvm"], "pushed_at": "2026-08-26T23:23:42+00:00", "repo": "jhy/jsoup", "stars": 11387, "tags": ["html-parser", "css-selectors", "xss-sanitization", "dom-manipulation", "html5", "xml", "android"], "topics": ["jsoup", "html", "java", "dom", "css", "java-html-parser", "css-selectors", "xml", "xpath", "parser", "web-scraping"], "urls": [], "use_cases": ["scrape and extract data from web pages in Java", "parse messy real-world HTML into a DOM tree", "sanitize user-submitted HTML to prevent XSS", "extract elements using CSS selectors or XPath", "fetch and parse a URL's HTML content", "clean and tidy up HTML output", "manipulate HTML elements and attributes programmatically"], "what_it_is": "jsoup is a Java library for parsing, manipulating, and cleaning real-world HTML and XML, implementing the WHATWG HTML5 specification to produce the same DOM as modern browsers. It provides URL fetching, CSS selector and XPath-based data extraction, DOM manipulation, and safelist-based HTML sanitization to prevent XSS attacks.", "when_to_avoid": ["you need a full headless browser with JavaScript execution", "you are parsing JSON or other non-HTML data formats", "you need a general-purpose XML validator or XSLT processor", "your project is not on the JVM"], "when_to_choose": ["you need a robust, spec-compliant HTML parser on the JVM", "you are building a web scraper or crawler in Java or Kotlin", "you need to sanitize untrusted HTML against XSS in a Java application", "you want browser-like parsing of invalid tag-soup HTML", "you are working on Android and need HTML parsing"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jsoup", "repo": "jhy/jsoup", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.902703+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:15:38.273864+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fd2bfe387623edcb0da91b47a3ab35ee020bd5f1ccb8d47bcb270c54ae2aaba", "fetched_at": "2026-08-28T04:10:46.902703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jhy/jsoup"}, {"content_hash": "51426ea1a2f91731950da6538ea47823b5482f2ef9f73180d6bd660d810a238b", "fetched_at": "2026-08-29T08:14:27.264839+00:00", "kind": "homepage", "missing": false, "url": "https://jsoup.org"}, {"content_hash": "c5a7fa8db664f8d0fff625f85fadd07f8cbbabaee818da13fb82faa64f8612f7", "fetched_at": "2026-08-29T08:14:27.268032+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs"}, {"content_hash": "faa8750f0f11497a64bf14f8fd6496039fc348978ad1f7050ee9b89e172e382d", "fetched_at": "2026-08-29T08:14:27.271456+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/nodes/Element"}, {"content_hash": "7f449012ae9718734ed0d7248de7539d242198dc1ec5c95285ebec6b441054c4", "fetched_at": "2026-08-29T08:14:27.275287+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/select/Elements"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.902703+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:15:38.273864+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fd2bfe387623edcb0da91b47a3ab35ee020bd5f1ccb8d47bcb270c54ae2aaba", "fetched_at": "2026-08-28T04:10:46.902703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jhy/jsoup"}, {"content_hash": "51426ea1a2f91731950da6538ea47823b5482f2ef9f73180d6bd660d810a238b", "fetched_at": "2026-08-29T08:14:27.264839+00:00", "kind": "homepage", "missing": false, "url": "https://jsoup.org"}, {"content_hash": "c5a7fa8db664f8d0fff625f85fadd07f8cbbabaee818da13fb82faa64f8612f7", "fetched_at": "2026-08-29T08:14:27.268032+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs"}, {"content_hash": "faa8750f0f11497a64bf14f8fd6496039fc348978ad1f7050ee9b89e172e382d", "fetched_at": "2026-08-29T08:14:27.271456+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/nodes/Element"}, {"content_hash": "7f449012ae9718734ed0d7248de7539d242198dc1ec5c95285ebec6b441054c4", "fetched_at": "2026-08-29T08:14:27.275287+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/select/Elements"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:15:38.273864+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fd2bfe387623edcb0da91b47a3ab35ee020bd5f1ccb8d47bcb270c54ae2aaba", "fetched_at": "2026-08-28T04:10:46.902703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jhy/jsoup"}, {"content_hash": "51426ea1a2f91731950da6538ea47823b5482f2ef9f73180d6bd660d810a238b", "fetched_at": "2026-08-29T08:14:27.264839+00:00", "kind": "homepage", "missing": false, "url": "https://jsoup.org"}, {"content_hash": "c5a7fa8db664f8d0fff625f85fadd07f8cbbabaee818da13fb82faa64f8612f7", "fetched_at": "2026-08-29T08:14:27.268032+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs"}, {"content_hash": "faa8750f0f11497a64bf14f8fd6496039fc348978ad1f7050ee9b89e172e382d", "fetched_at": "2026-08-29T08:14:27.271456+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/nodes/Element"}, {"content_hash": "7f449012ae9718734ed0d7248de7539d242198dc1ec5c95285ebec6b441054c4", "fetched_at": "2026-08-29T08:14:27.275287+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/select/Elements"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.902703+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.902703+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.902703+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:15:38.273864+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fd2bfe387623edcb0da91b47a3ab35ee020bd5f1ccb8d47bcb270c54ae2aaba", "fetched_at": "2026-08-28T04:10:46.902703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jhy/jsoup"}, {"content_hash": "51426ea1a2f91731950da6538ea47823b5482f2ef9f73180d6bd660d810a238b", "fetched_at": "2026-08-29T08:14:27.264839+00:00", "kind": "homepage", "missing": false, "url": "https://jsoup.org"}, {"content_hash": "c5a7fa8db664f8d0fff625f85fadd07f8cbbabaee818da13fb82faa64f8612f7", "fetched_at": "2026-08-29T08:14:27.268032+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs"}, {"content_hash": "faa8750f0f11497a64bf14f8fd6496039fc348978ad1f7050ee9b89e172e382d", "fetched_at": "2026-08-29T08:14:27.271456+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/nodes/Element"}, {"content_hash": "7f449012ae9718734ed0d7248de7539d242198dc1ec5c95285ebec6b441054c4", "fetched_at": "2026-08-29T08:14:27.275287+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/select/Elements"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.902703+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.902703+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:15:38.273864+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fd2bfe387623edcb0da91b47a3ab35ee020bd5f1ccb8d47bcb270c54ae2aaba", "fetched_at": "2026-08-28T04:10:46.902703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jhy/jsoup"}, {"content_hash": "51426ea1a2f91731950da6538ea47823b5482f2ef9f73180d6bd660d810a238b", "fetched_at": "2026-08-29T08:14:27.264839+00:00", "kind": "homepage", "missing": false, "url": "https://jsoup.org"}, {"content_hash": "c5a7fa8db664f8d0fff625f85fadd07f8cbbabaee818da13fb82faa64f8612f7", "fetched_at": "2026-08-29T08:14:27.268032+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs"}, {"content_hash": "faa8750f0f11497a64bf14f8fd6496039fc348978ad1f7050ee9b89e172e382d", "fetched_at": "2026-08-29T08:14:27.271456+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/nodes/Element"}, {"content_hash": "7f449012ae9718734ed0d7248de7539d242198dc1ec5c95285ebec6b441054c4", "fetched_at": "2026-08-29T08:14:27.275287+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/select/Elements"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.902703+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.902703+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.902703+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:15:38.273864+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fd2bfe387623edcb0da91b47a3ab35ee020bd5f1ccb8d47bcb270c54ae2aaba", "fetched_at": "2026-08-28T04:10:46.902703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jhy/jsoup"}, {"content_hash": "51426ea1a2f91731950da6538ea47823b5482f2ef9f73180d6bd660d810a238b", "fetched_at": "2026-08-29T08:14:27.264839+00:00", "kind": "homepage", "missing": false, "url": "https://jsoup.org"}, {"content_hash": "c5a7fa8db664f8d0fff625f85fadd07f8cbbabaee818da13fb82faa64f8612f7", "fetched_at": "2026-08-29T08:14:27.268032+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs"}, {"content_hash": "faa8750f0f11497a64bf14f8fd6496039fc348978ad1f7050ee9b89e172e382d", "fetched_at": "2026-08-29T08:14:27.271456+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/nodes/Element"}, {"content_hash": "7f449012ae9718734ed0d7248de7539d242198dc1ec5c95285ebec6b441054c4", "fetched_at": "2026-08-29T08:14:27.275287+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/select/Elements"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.902703+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.902703+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:15:38.273864+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fd2bfe387623edcb0da91b47a3ab35ee020bd5f1ccb8d47bcb270c54ae2aaba", "fetched_at": "2026-08-28T04:10:46.902703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jhy/jsoup"}, {"content_hash": "51426ea1a2f91731950da6538ea47823b5482f2ef9f73180d6bd660d810a238b", "fetched_at": "2026-08-29T08:14:27.264839+00:00", "kind": "homepage", "missing": false, "url": "https://jsoup.org"}, {"content_hash": "c5a7fa8db664f8d0fff625f85fadd07f8cbbabaee818da13fb82faa64f8612f7", "fetched_at": "2026-08-29T08:14:27.268032+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs"}, {"content_hash": "faa8750f0f11497a64bf14f8fd6496039fc348978ad1f7050ee9b89e172e382d", "fetched_at": "2026-08-29T08:14:27.271456+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/nodes/Element"}, {"content_hash": "7f449012ae9718734ed0d7248de7539d242198dc1ec5c95285ebec6b441054c4", "fetched_at": "2026-08-29T08:14:27.275287+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/select/Elements"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:15:38.273864+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fd2bfe387623edcb0da91b47a3ab35ee020bd5f1ccb8d47bcb270c54ae2aaba", "fetched_at": "2026-08-28T04:10:46.902703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jhy/jsoup"}, {"content_hash": "51426ea1a2f91731950da6538ea47823b5482f2ef9f73180d6bd660d810a238b", "fetched_at": "2026-08-29T08:14:27.264839+00:00", "kind": "homepage", "missing": false, "url": "https://jsoup.org"}, {"content_hash": "c5a7fa8db664f8d0fff625f85fadd07f8cbbabaee818da13fb82faa64f8612f7", "fetched_at": "2026-08-29T08:14:27.268032+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs"}, {"content_hash": "faa8750f0f11497a64bf14f8fd6496039fc348978ad1f7050ee9b89e172e382d", "fetched_at": "2026-08-29T08:14:27.271456+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/nodes/Element"}, {"content_hash": "7f449012ae9718734ed0d7248de7539d242198dc1ec5c95285ebec6b441054c4", "fetched_at": "2026-08-29T08:14:27.275287+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/select/Elements"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:15:38.273864+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fd2bfe387623edcb0da91b47a3ab35ee020bd5f1ccb8d47bcb270c54ae2aaba", "fetched_at": "2026-08-28T04:10:46.902703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jhy/jsoup"}, {"content_hash": "51426ea1a2f91731950da6538ea47823b5482f2ef9f73180d6bd660d810a238b", "fetched_at": "2026-08-29T08:14:27.264839+00:00", "kind": "homepage", "missing": false, "url": "https://jsoup.org"}, {"content_hash": "c5a7fa8db664f8d0fff625f85fadd07f8cbbabaee818da13fb82faa64f8612f7", "fetched_at": "2026-08-29T08:14:27.268032+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs"}, {"content_hash": "faa8750f0f11497a64bf14f8fd6496039fc348978ad1f7050ee9b89e172e382d", "fetched_at": "2026-08-29T08:14:27.271456+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/nodes/Element"}, {"content_hash": "7f449012ae9718734ed0d7248de7539d242198dc1ec5c95285ebec6b441054c4", "fetched_at": "2026-08-29T08:14:27.275287+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/select/Elements"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:15:38.273864+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fd2bfe387623edcb0da91b47a3ab35ee020bd5f1ccb8d47bcb270c54ae2aaba", "fetched_at": "2026-08-28T04:10:46.902703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jhy/jsoup"}, {"content_hash": "51426ea1a2f91731950da6538ea47823b5482f2ef9f73180d6bd660d810a238b", "fetched_at": "2026-08-29T08:14:27.264839+00:00", "kind": "homepage", "missing": false, "url": "https://jsoup.org"}, {"content_hash": "c5a7fa8db664f8d0fff625f85fadd07f8cbbabaee818da13fb82faa64f8612f7", "fetched_at": "2026-08-29T08:14:27.268032+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs"}, {"content_hash": "faa8750f0f11497a64bf14f8fd6496039fc348978ad1f7050ee9b89e172e382d", "fetched_at": "2026-08-29T08:14:27.271456+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/nodes/Element"}, {"content_hash": "7f449012ae9718734ed0d7248de7539d242198dc1ec5c95285ebec6b441054c4", "fetched_at": "2026-08-29T08:14:27.275287+00:00", "kind": "site_page", "missing": false, "url": "https://jsoup.org/apidocs/org/jsoup/select/Elements"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 87}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 6102, "days_push": 7, "days_rel": 8, "gap_med": 62, "n_releases_24m": 10}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}