This code is under the Apache License 2.0. http://www.apache.org/licenses/LICENSE-2.0
This is a python port of a ruby port of arc90’s readability project
http://lab.arc90.com/experiments/readability/
In few words, Given a html document, it pulls out the main body text and cleans it up. It also can clean up title based on latest readability.js code.
- Based on:
Latest readability.js ( https://github.com/MHordecki/readability-redux/blob/master/readability/readability.js )
Ruby port by starrhorne and iterationlabs
Python port by gfxmonk ( https://github.com/gfxmonk/python-readability , based on BeautifulSoup )
Decruft effort to move to lxml ( http://www.minvolai.com/blog/decruft-arc90s-readability-in-python/ )
“BR to P” fix from readability.js which improves quality for smaller texts.
Github users contributions.
Installation:
easy_install readability-lxml or pip install readability-lxml
Usage:
from readability.readability import Document import urllib html = urllib.urlopen(url).read() readable_article = Document(html).summary() readable_title = Document(html).short_title()
Command-line usage:
python -m readability.readability -u http://pypi.python.org/pypi/readability-lxml
Using positive/negative keywords example:
python -m readability.readability -p intro -n newsindex,homepage-box,news-section -u http://python.org
Document() kwarg options:
attributes:
debug: output debug messages
min_text_length:
retry_length:
url: will allow adjusting links to be absolute
positive_keywords: the list of positive search patterns in classes and ids, for example: [“news-item”, “block”]
negative_keywords: the list of negative search patterns in classes and ids, for example: [“mysidebar”, “related”, “ads”]
Updates
0.2.5 Update setup.py for uploading .tar.gz to pypi
0.2.6 Don’t crash on documents with no title
0.2.6.1 Document.short_title() properly works
0.3 Added Document.encoding, positive_keywords and negative_keywords
Release files for readability-lxml 0.3.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| readability-lxml-0.3.0.1.tar.gz | 12.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| readability_lxml-0.3.0.1-py2.7.egg | Legacy Egg format | - | - | Details |
Total release size:37.5 kB
Release files / readability-lxml-0.3.0.1.tar.gz
| Download URL | readability-lxml-0.3.0.1.tar.gz |
|---|---|
| Size | 12.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
83ec8c63bd17155083a5a3d3b5b012032eb0234bee5a91842ec13e15697a2bc8
|
|
BLAKE2b-256 checksum How to use checksums |
09dfa7e4f7744d5becf6b13dd6cfca768c6dcd5beae4d49d0fd452c921a1887f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / readability_lxml-0.3.0.1-py2.7.egg
| Download URL | readability_lxml-0.3.0.1-py2.7.egg |
|---|---|
| Size | 25.2 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
99ce6cf83e06ac8ec1382210ee48c5117bff0a8765ba59b2e3a1318a03dc42a8
|
|
BLAKE2b-256 checksum How to use checksums |
0cf043200a64a4e0fc1a8c4ecadcaad9b3ab211aa268aeca2b46b9e4af9660af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |