--- id: readability-lxml version: "0.8.4.1" license: Apache License 2.0 license_treatment: permissive maintenance: aging --- # readability-lxml — fast html to text parser (article readability tool) with python 3 support License: permissive · Maintenance: aging · Downloads: 2.1M/mo ## What it is and what it does readability-lxml is a Python port of arc90's Readability algorithm that parses HTML documents and isolates the main article content—title, body text, and optionally images—stripping away navigation, ads, and boilerplate. It uses lxml for DOM manipulation and cssselect for content scoring, applying heuristics to identify the primary reading material. The package is designed for content extraction pipelines where you need clean article text from HTML. It supports CJK text, can preserve multiple images per article, and outputs HTML5-formatted summaries. With 2058771 monthly downloads, it serves as a standard tool for news aggregators, content analysis systems, and archival tools. Use it for: - Extract article text from HTML documents for content aggregation or archival without manual parsing - Build a content pipeline that isolates main text from pages with heavy sidebar and footer markup - Prepare training data for NLP models by cleaning HTML-sourced documents to pure article text - Implement a reader mode or reading list feature that strips formatting and focuses on text - Analyze article metadata (title, author, images) from bulk HTML content ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Extracts and cleans the main article text and title from HTML documents using lxml-based parsing and heuristic content detection. Yes, if you need reliable article extraction from HTML documents. The low install friction, permissive license, and broad Python version support (3.8–3.13) make it practical. The aging maintenance status (468 days since last release) is a minor concern for a stable, mature tool, but verify that recent HTML patterns in your target documents still parse correctly before committing to production use. ## Install pip install readability-lxml uv add readability-lxml poetry add readability-lxml ## Installing readability-lxml Before you install: Low friction: pure Python wheel with four straightforward runtime dependencies (chardet, lxml, cssselect, lxml-html-clean). Maintenance status is aging—last release was 468 days ago—but the repository remains active and the package has accumulated 2895 stars. License in practice: Apache License 2.0 is permissive, allowing commercial and private use with minimal restrictions; you must retain license and copyright notices but face no copyleft obligations. Quickstart: pip install readability-lxml from readability import Document doc = Document(html_content) print(doc.title()) print(doc.summary()) Verify before relying: - Current performance characteristics on large documents or high-volume extraction workloads - Compatibility with modern HTML5 edge cases beyond the changelog's mention of improved HTML5 tag handling - Whether the package requires external HTTP fetching or works only with pre-downloaded HTML content ## Package facts - License: Apache License 2.0 (permissive) - Python support: unspecified - Install friction: low - Maintenance: aging - Downloads: 2.1M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags html article extraction, readability parser python, extract main content from html, html to text article, content extraction tool, web scraping readability, clean html body text, web-scraping, content-extraction, html-parsing [View on SkillFed](https://skillfed.io/packages/readability-lxml) · [View on PyPI](https://pypi.org/project/readability-lxml/)