86cde20ba6
Add travis file |
||
---|---|---|
readability | ||
tests | ||
.gitignore | ||
.travis.yml | ||
Makefile | ||
README | ||
requirements.txt | ||
setup.py | ||
tox.ini |
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 To open resulting page in browser:: python -m readability.readability -b -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.3 Added Document.encoding, positive_keywords and negative_keywords - 0.4 Added Videos loading and allowed more images per paragraph - 0.5 Preparing a release to support Python versions 2.6, 2.7, 3.3 and 3.4 - 0.6 Finally a release which supports Python versions 2.6, 2.7, 3.3 and 3.4