boilerpy3
Python port of Boilerpipe, for HTML boilerplate removal and text extraction
What it is and what it does
BoilerPy3 is a Python port of the Boilerpipe library, a text extraction tool that identifies and extracts the main content from HTML pages while discarding boilerplate elements like navigation, advertisements, and sidebars. It provides multiple extractors tuned for different scenarios—ArticleExtractor for news articles, DefaultExtractor for generic pages, and others for specialized use cases. The library works by analyzing HTML structure and text density to classify blocks as content or boilerplate.
The package has no runtime dependencies and supports Python 3.6 and later. It offers three main interfaces: extracting plain text, extracting marked HTML chunks, or retrieving a document object with additional metadata like title. The documentation notes that while URL-fetching methods are provided, using an external HTTP library like Requests is recommended for production use.
Use it for:
- Extract article text from news websites or blog posts for content aggregation or archival systems.
- Clean HTML before feeding it to NLP pipelines or text analysis tools that need main content only.
- Build web scrapers that need to isolate article body from page chrome and advertisements.
- Preprocess HTML for machine learning training data where boilerplate noise would degrade model quality.
- Implement fallback content extraction when more specialized algorithms fail (via raise_on_failure parameter).
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Extracts main article text and content from HTML, filtering out boilerplate like navigation, ads, and sidebars using heuristics tuned for news articles and similar documents.
Yes, if you need straightforward HTML boilerplate removal and your use case tolerates a dormant library. The package is stable, dependency-free, and widely used, making it a low-risk choice for text extraction. However, do not install if you require active maintenance, support for modern web frameworks, or performance guarantees on contemporary HTML patterns—consider alternatives if those are critical.
Install
boilerpy3 on PyPI
pip
pip install boilerpy3uv
uv add boilerpy3poetry
poetry add boilerpy3Installing boilerpy3
Before you install
Low install friction with no runtime dependencies. Dormant maintenance status (last commit 2024-08-20, no release since 2023-11-01) means bug fixes and updates are unlikely, though the package remains functional for its core use case.
License in practice
Apache 2.0 permissive license allows free use, modification, and distribution with minimal restrictions—suitable for most commercial and open-source projects.
Quickstart
pip install boilerpy3
from boilerpy3 import extractors
extractor = extractors.ArticleExtractor()
content = extractor.get_content('<html>...</html>')
Verify before relying
- How well the Boilerpipe 1.2-equivalent algorithm performs on modern web layouts compared to more recent extraction libraries.
- Whether the package handles edge cases in malformed or unusual HTML gracefully when raise_on_failure is False.
- Current download volume and active user base given the dormant maintenance status.
Package facts
| License | Apache 2.0 (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 1,017 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 207,848/month — #9,541 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: boilerpy3-1.0.7-py3-none-any.whl
Keywords: boilerpipe, boilerpy, html text extraction, text extraction, full text extraction
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
goose3Extracts article text, metadata, images, and…
permissive · top 15,000 on PyPI
readable-contentExtracts the main article content from web…
permissive · top 15,000 on PyPI
UnityPyUnityPy extracts and edits Unity asset files…
permissive · top 15,000 on PyPI
newspaper4kExtracts article text, metadata, and images…
permissive · top 15,000 on PyPI
html-textExtracts plain text from HTML while filtering…
permissive · top 5,000 on PyPI
trafilaturaTrafilatura extracts main text, metadata, and…
permissive · top 5,000 on PyPI
date-guesserExtracts publication dates from web pages by…
permissive · top 15,000 on PyPI
extractcodeExtracts a wide range of archive formats (tar,…
permissive · top 15,000 on PyPI
gnewsGNews searches Google News RSS feeds and…
permissive · top 15,000 on PyPI
urlextractExtracts URLs from text by locating TLDs and…
permissive · top 5,000 on PyPI